mvc
- 由model(模块)、view(视图)、control(控制器)组成,是软件架构中最常见的一种框架。它的工作原理是当用户触发事件时,view层会触发指令到controller层,controller层去通知model更新数据,model层更新完数据后直接显示在view上。
- 缺点:耦合度太高。
mvp
- 由model、view、Presenter组成。当用户触发事件时,view发送指令到Presenter,Presenter通知model更新数据,model更新完数据发送给Presenter,Presenter再将数据显示在view上。
- 各部分之间的通信,都是双向的
- 视图和Presenter的交互会过于频繁,使得他们的联系过于紧密。也就是说,一旦视图变更了,presenter也要变更
mvvm
+由model、view、view model组成。viewmdel和view是数据双向绑定的关系。view变动,viewmodel也会跟着变化。更新viewmodel层数据时,view也会相应变化。
- 优点:低耦合性、可重用性
- 例子:vue、react、angular