Vue学习 - 三大开发模式概念

MVC模式

概念

1.M是指业务模型,V是指用户界面,C则是控制器
M即model模型,  数据层,负责数据的处理和获取的数据接口层
V即View视图,  视图层, 是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。
C即controller控制器, 控制器层,它是 Model 和 View 之间的胶水或者说是中间人

2.模型(model)-视图(view)-控制器(controller)

★应用场景:主要用于中大型项目的分层开发 
★运作流程
Model和View是完全隔离的,由C作为中间人来负责二者的交互,同时三者是完全独立分开的。这样可以保证M和V的可测试性和复用性,但是一般由于 ,所以很难复用。

好处

耦合性低、重用性高、部署快,生命周期成本低、可维护性高

存在的问题

1.不适合小型,中等规模的应用程序
2.视图与控制器间的过于紧密的连接并且降低了视图对模型数据的访问
3.不适用于前端

MVP模式

概念

MVP (Model-View-Presenter) 是MVC模式的改良,由IBM的子公司Taligent提出。和MVC的相同之处在于: Controller/Presenter负责业务逻辑, Model管理数据,View负责显示


特点

1.在MVC里,View是可以直接访问Model的。但MVP中的View并不能直接使用Model,而是通过为Presenter提供接口,让Presenter去更新Model, 再通过观察者模式更新View
2.与MVC相比,MVP模式通过解耦View和Model, 完全分离视图和模型,使职责划分更加清晰
3.View不依赖Model, 可以将View抽离出来做成组件, 它只需要提供系列接提供给上层操作

存在问题

1.Presenter作为View和Model之间的“中间人, 除了基本的业务逻辑外,还有大量代码需要对从View到Model和从Model到View的数据进行手动同步",这样Presenter显得职责很重, 维护起来会比较困难
2.由于没有数据绑定,如果Presenter对视图渲染的需求增多,一旦视图需求发生改变,Presenter也需要改动。

MVVM模式

概念

1.MWM (Model-View-ViewModel) 最早由微软提出
2.ViewModel指 "Model of View"--视图的模型
3.MVVM是Model-View-ViewModel的简写,它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model)
4.Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层

Model --->每个页面的单独数据
View --->每个页面中的HTML结构
VM ---> 调度者

Model---View---VM(ViewModel)

特点

1.MVVM把View和Model的同步逻辑自动化
2.以前Presenter负责的View和Mode同步不再手动地进行操作,而是交给框架所提供的数据绑定功能进行负责,只需要告诉它View显示的数据对应的是Model哪一部分即可
3.通过ViewModel进行数据绑定,当Model发生变化,ViewModel就会自动更新; ViewModel变化,Model也会更新

好处

数据驱动

VM提供数据的双向绑定

发布了59 篇原创文章 · 获赞 13 · 访问量 2509

猜你喜欢

转载自blog.csdn.net/qq_40885085/article/details/103682191