1、MVC模式:

/** 模擬 Model, View, Controller */
var M = {}, V = {}, C = {}; /** Model 負責存放資料 */
M.data = "hello world"; /** View 負責將資料輸出到螢幕上 */
V.render = (M) => { alert(M.data); } /** Controller 作為一個 M 和 V 的橋樑 */
C.handleOnload = () => { V.render(M); } /** 在網頁讀取的時候呼叫 Controller */
window.onload = C.handleOnload;

2、MVP模式

区别:

MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter(MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过Controller。

优点:

实现了Model和View真正的完全分离。视图的变化总是比较频繁。

缺点:

1)Presenter别得臃肿,除了应用逻辑以外,还有大量的View->Model,Model->View的手动同步逻辑,

2)p和v耦合严重。

3、MVVM模式:

用ViewModel代替了Presenter。用DataBinding技术实现V和M的映射。

最新文章

  1. Maven assembly 打包
  2. JSP页面转向方式
  3. node.js和express.js安装和使用步骤 [windows]
  4. [Node.js] Creating Demo APIs with json-server
  5. 对于python WSGI的理解
  6. 粗俗易懂的SQL存储过程在.NET中的实例运用
  7. 关于用 random 生成伪随机数的一个手笔
  8. 串string (KMP)
  9. AFO && OI回忆录
  10. SpringCloud系列——Feign 服务调用
  11. tigervnc-server 无法启动问题
  12. crt sqlplus 中文乱码解决方案:
  13. [MySQL]典型的行列转换
  14. Microsoft.AspNet.Identity.EntityFramework/IdentityDbContext.cs
  15. 实验二 Java面向对象程序设计 20135321
  16. Go语言 异常panic和恢复recover用法
  17. Python全栈开发之10、网络编程
  18. [shell]system和execlp简单示例
  19. render函数的使用
  20. 缺少Packages?不妨在这里找

热门文章

  1. Spring:BeanDefinition&PostProcessor不了解一下吗?
  2. 【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
  3. MyBatis入门学习-连接oracle实现CURD基本操作
  4. Css教程玉女心经版本
  5. 47 _ 循环队列程序演示.swf
  6. linux网络编程-socket(2)
  7. GitHub 热点速览 Vol.26:手把手带你做数据库
  8. JavaScript基础Literal 与 Constructor(008)
  9. JavaScript基础CallBack函数(015)
  10. webpack模块打包简易版