文章目录
- 一、MVC设计模式
- 二、MTV 设计模式:
一、MVC设计模式
最早由 Trygve Teenskaug 在 1978 年提出,上世纪 80 年代是程序语言 Smalltalk 的一种内部架构。后来 MVC 被其他领域借鉴,成为了软件工程中的一种软件架构模式。MVC 把 Web 框架分为 3 个基础部分:
模型(Model):用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是用于处理应用程序的数据逻辑的部分,Model 只提供功能性的接口,通过这些接口可以获取 Model 的所有功能。白话说,这个模块就是 Web 框架和数据库的交互层。视图(View):负责数据的显示和呈现,是对用户的直接输出。
控制器(Controller):负责从用户端收集用户的输入,可以看成提供 View 的反向功能。这三个部分互相独立,但又相互联系,使得改进和升级界面及用户交互流程,在 Web开发过程任务分配时,不需要重写业务逻辑及数据访问代码。
MVC 在 Python 之外的语言中也有广泛应用,例如 VC 的 MFC,Java 的 Structs 及C#的.NET 开发框架,都非常有名。
二、MTV 设计模式:
Django 觉得 MVC 的字面意思很别扭,不太符合它的理念,就给它改了一下。view 不再是 HTML 相关,而是主业务逻辑 V 了,相当于控制器。HTML 被放在 Templates 中,称作模板 T,于是 MVC 就变成了 MTV。这其实就是一个文字游戏,和 MVC 本质上是一样的,换了个名字和叫法而已,换汤不换药。
模型(Model)
:和 MVC 中的定义一样模板(Template)
:将数据与 HTML 语言结合起来的引擎视图(View)
:负责实际的业务逻辑实现