设计模式——MVC MVP MVVM

时间:2021-02-17 09:24:25

了解到Vue是MVVM前端框架, 中午就研究了一下MVVM,但要从MVC开始说起:

M(Model):模型,提供数据;

V(View):视图,负责显示;

C(Controller):控制器,负责逻辑处理;

P(Presenter):管理器,负责逻辑处理;

VM(ViewModel):视图模板,监听????

视图层可以调用数据层的数据创建视图;

控制层可以调用数据层数据与视图层的视图(渲染页面和增添逻辑);

MVC.Model=function(){

var M={};

ajxa获取数据,或config

};

=====================

MVC.View=function(){

var M=MVC.Model;

var V={};

操作数据模型,创建视图;

};

=====================

MVC.Ctr=function(){

var M=MVC.Model;

var V=MVC.View;

var C={};

操作视图对象和模型数据对象;

};

=====================

MVP.Pre=function(){

var M=MVP.Model;

var V=MVP.View;

var P={};

操作视图对象和模型数据对象;

并承包之前视图的业务逻辑;

};

MVC:一种分层方式(思想),将一个复杂的、高耦合的页面利用mvc思想分成3层:M、V、C,但是分层之后,M和V之间又太耦合,所以推出mvp!

MVP:就是在mvc分层思想上,解决视图和数据层之间的高耦合。但是每次创建页面时,视图层都要被管理师直接调用,也就是说,创建什么样的视图由管理员说了算,那么这样才能让视图更独立呢?所以推出mvvm!

MVVM:为视图量身定做了一套独立的视图模型,并在视图模型中创建属性和方法,为视图层绑定数据并实现交互。