We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MVC是模型(Model)-视图(View)-控制器(Controller)的缩写,是设计模式中最常用的软件架构。
视图(View):用户界面。 控制器(Controller):业务逻辑 模型(Model):数据保存
所有方式都是单向通信:
MVC简化模型
//页面加载后创建MVC对象 $(function(){ //创建MVC对象 var MVC=MVC||{}; //初始化MVC数据模型层 MVC.model=function(){}(); //初始化MVC视图层 MVC.view=function(){}(); //初始化MVC控制器层 MVC.controller=function(){}(); });
//MVC数据模型层 MVC.model=function(){ //内部数据对象 var M={}; //服务器端获取数据,通常通过Ajax获取并存储 M.data={}; //配置数据 M.config={}; return { //获取服务器端数据 getData:function(m){ return M.data[m]; }, //获取配置数据 getConfig:function(c){ //根据数据字段获取数据 return M.config[c] }, //设置服务器数据 setData:function(m,v){ M.data[m]=v; return this; }, //设置配置数据 setConfig:function(c,v){ M.data[c]=v; return this; } }; }();
//MVC视图层 MVC.view=function(){ //模型数据层对象操作方法引用 var M=MVC.model; //内部视图创建方法对象 var V={}; //获取视图的接口方法 return function(v){ //根据视图名词返回视图 V[v](); } }();
//MVC控制器层 MVC.controller=function(){ //模型数据层对象操作方法引用 var M=MVC.model; //视图数据层对象操作方法引用 var V=MVC.view; //控制器创建方法对象 var C={}; }();
MVP是Model-View-Presenter,即将MVC中的控制器Controller换成了Presenter负责逻辑的处理。
MVC和MVP的区别是:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。
各部分之间都是双向通信:
MVVM是Model-View-ViewModel,和MVP的区别在于Presenter换成了ViewModel负责逻辑处理。
MVVM的优点是低耦合、可重用性、独立开发。
双向绑定(data-binding):
后面会详细介绍MVVM的设计模式架构,同时会有针对于react和vue之类MVVM框架的原理。
参考文章:
The text was updated successfully, but these errors were encountered:
严格的说:MVC 、MVVM、MVP都不属于设计模式;
Sorry, something went wrong.
@Nitromethane 属于程序设计吗?
@Nitromethane 设计模式也分大类的,这一类属于架构型设计模式,不同角度的叫法不同,这一类的有很多,具体应该以这个https://en.wikipedia.org/wiki/Software_design_pattern为标准
No branches or pull requests
MVC
MVC是模型(Model)-视图(View)-控制器(Controller)的缩写,是设计模式中最常用的软件架构。
所有方式都是单向通信:
MVC简化模型
MVP
MVP是Model-View-Presenter,即将MVC中的控制器Controller换成了Presenter负责逻辑的处理。
各部分之间都是双向通信:
MVVM
MVVM是Model-View-ViewModel,和MVP的区别在于Presenter换成了ViewModel负责逻辑处理。
双向绑定(data-binding):
后面会详细介绍MVVM的设计模式架构,同时会有针对于react和vue之类MVVM框架的原理。
参考文章:
The text was updated successfully, but these errors were encountered: