博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVT MVC模型框架
阅读量:3968 次
发布时间:2019-05-24

本文共 789 字,大约阅读时间需要 2 分钟。

原链:[]()

一、MVC

MVC模式的意思是,软件可以分成三个部分。

img

  • 视图(View):用户界面。
  • 控制器(Controller):业务逻辑
  • 模型(Model):数据保存

通信方式:

img

  1. View 传送指令到 Controller
  2. Controller 完成业务逻辑后,要求 Model 改变状态
  3. Model 将新的数据发送到 View,用户得到反馈

二、互动模式

接受用户指令时,MVC 可以分成两种方式。一种是通过 View 接受指令,传递给 Controller。

img

另一种是直接通过controller接受指令。

img

三、MVC衍生

MVP

MVP 模式将 Controller 改名为 Presenter,同时改变了通信方向。

img

  1. 各部分之间的通信,都是双向的。

  2. View 与 Model 不发生联系,都通过 Presenter 传递。

  3. View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。

MVVM

MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。

img

唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。 和 都采用这种模式。

MVT(django)

MVT是python中django框架使用的一种架构模式。M是models,v是views,T是templates。

img

很多人都说MVT跟MVC只是换了个名,但由于MVC模式发展到现在有多种,你说的是哪种哇嘎奶哟。但从上图明显可以看出,MVT更接近于MVP模式,或者说,这两者才应该划上等号。

其中M相当于MVP的M,但MVT的views对应的是presenter,而templates对应的才是MVP的view。

转载地址:http://vncki.baihongyu.com/

你可能感兴趣的文章
P4-c++函数详解-04函数重载,函数模板和函数模板重载,编译器选择使用哪个函数版本?
查看>>
P5-c++内存模型和名称空间-01头文件相关
查看>>
P6-c++内存模型和名称空间-02存储连续性、作用域和链接性
查看>>
P9-c++对象和类-02构造函数和析构函数总结
查看>>
P10-c++对象和类-03this指针详细介绍,详细的例子演示
查看>>
ksh 命令分隔符
查看>>
sed 精萃
查看>>
awk 精萃
查看>>
awk 注释
查看>>
GROUPING SETS、ROLLUP、CUBE
查看>>
数据类型和变量
查看>>
表连接(JOIN)
查看>>
游标(Cursor)
查看>>
复合语句(compound statement)
查看>>
DB2 物化查询表
查看>>
IF 语句
查看>>
循环语句
查看>>
DB2 临时表
查看>>
ITERATE、LEAVE、GOTO和RETURN
查看>>
异常处理
查看>>