MVC&&MVP&&MVVM
库和框架的区别
- 我们对部分通用的业务逻辑进行封装(函数),多个封装就形成一个模块或者文件,多个模块或者文件就发展成为库或者框架。库:指的就是函数库,不会改变编程的思想,如:jQuery。框架:改变了编码思想,代码的整体结构,如:vue,react,小程序等。
MVC架构模式
M:model(模型),它主要完成业务功能,在数据库相关的项目中,数据库的增删改查属于模型。
V:view(视图),它主要负责数据的显示。
C:controller(控制器)主要负责每个业务的核心流程,在项目中体现在路由以及中间件上。
优点:耦合度低,复用性高,生命周期成本低,部署快,可维护性高,有利软件工程化管理。
缺点:由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。
MVP架构模式
- MVP是单词Model View Presenter的首写字母的缩写,分别表示数据层,视图层,发布层,它是MVC架构的一种演变,作为一种新的模式。
M:model(模型),它主要完成业务功能,在数据库相关的项目中,数据库的增删改查属于模型。
V:view(视图),它主要负责数据的显示。
P:Presenter负责逻辑的处理,presenter是从model中获取数据并提供给view层的,presenter还负责处理后端任务。
MVP模式与MVC模式的区别:
在MVP中View并不直接使用Model,而在MVC中View可以绕过Controller从直接Model中读取数据。
MVVM架构模式
- MVVM是Model View ViewModel的缩写,MVVM模式把Presenter替换为ViewModel,基本与MVP模式相似。
唯一区别是:MVVM采用数据双向绑定的方式
总结:
- 架构只是一种思维方式,不管是MVC,MVP,还是MVVM,都只是一种思考问题解决问题的思维,其目的是要解决编程过程中,模块内部高内聚,模块与模块之间低耦合,可维护性,易测试等问题。
是要解决编程过程中,模块内部高内聚,模块与模块之间低耦合,可维护性,易测试等问题。
架构在于,做好代码的分工,配合。