您的位置:首页 > 运维架构 > 网站架构

架 c0b3 构模式:MVC,MVP&MVVM

2017-06-05 09:55 183 查看
  复杂的软件需要清晰合理的架构,便于开发和后期维护。这就离不开架构模式。

MVC

  MVC(Model-View-Controller):最为直观的架构模式。他将软件分为三个部分:  

View     视图:用户界面

Controller  控制器:业务逻辑

Model    模型:数据保存

  


  

  所有的通信都是单向的。

  通信流程一般为:用户操作->V->C->M->V

  用户也可以直接向controller传递指令。

  

  实际上,在后端开发中,M和V是相互独立的,并不能直接通信,必须通过controller,如下图



MVP

  MVP(Model-View-Presenter)

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

  改为Presenter目的是完全切断View跟Model之间的联系,由Presenter充当桥梁,做到View-Model之间通信的完全隔离。

  


  

  所有的通信都是双向的。

  presenter非常厚,所有的逻辑部署都在这。而view非常薄,不部署任何业务逻辑。

MVVM

  MVVM(Model-View-ViewModel)

  在结构上,MVVM与MVP类似,只是将presenter改为viewmodel。在思想上,MVVM将“数据模型数据双向绑定”的思想作为核心。

  MVVM模式也可以看做,在MVC/MVP的基础上,将controller/presenter的部分业务逻辑分担到view。如图:

  


  

  JS框架中的Angular、Vue和Ember就是采用了MVVP模式。

参考文章:

- http://www.cnblogs.com/guwei4037/p/5591183.html

- http://www.jianshu.com/p/f4faa720f00d

- http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mvc mvp 架构