前些日子也有一个MVC贴,讨论的比较激烈,我后来也有点疑惑,为什么很多人说C是没有必要的。
我后来仔细研究了一下MV系列框架的演变,原来我这边的MVC理解还是有误,我们一般用的框架,实际上叫做 MV(C+F),F是Facade,也就是Controller 同时有ViewController,GlobalEventHandler,NetHandler 和 Module Facade 的功能。是一个全局的模块入口。所以是不可或缺的一部分,并不能被取消。
我贴一下我记录的MV系列框架的变化:
MV系列框架,主要分为几类,根据演化历史逐步递进:
- MV : 简单的Model-View框架,又叫Document - View 文档视图框架
- MVC:在MV之间,新增Controller组件,粘合View 到Model 的交互
- MVP:在MV之间,新增Presenter组件,粘合View 到Model 的交互,与Model修改时View的更新
- MVVM:在MV之间,新增ViewModel组件,通过数据-控件绑定,将View本身数据化。