mvc 跟mvp 和mvvm的区别,fmvp跟mvp的区别
墨初 知识笔记 138阅读
MVCModel-View-ControllerMVPModel-View-Presenter和MVVMModel-View-ViewModel都是软件架构模式用于将应用程序的不同组成部分分离开来以便更好地组织和管理代码。
1. MVC模式
- Model模型处理数据和业务逻辑。
- View视图负责显示数据和与用户进行交互。
- Controller控制器接收来自视图的用户输入并根据输入更新模型和视图。

MVC模式的特点是模型和视图之间的直接交互控制器作为中介将用户输入传递给模型和视图。这种模式适用于简单的用户界面但当应用程序复杂度增加时控制器可能变得庞大和复杂。
2. MVP模式
- Model模型处理数据和业务逻辑。
- View视图负责显示数据和与用户进行交互。
- PresenterPresenter作为中介者接收来自视图的用户输入并处理业务逻辑然后更新模型和视图。

MVP模式的特点是将控制逻辑从视图中分离出来由Presenter来处理。视图和模型之间没有直接交互所有的交互都通过Presenter来完成。这种模式使得视图更加轻量级易于测试。
3. MVVM模式
- Model模型处理数据和业务逻辑。
- View视图负责显示数据和与用户进行交互。
- ViewModel视图模型连接视图和模型将模型数据转换为视图可以使用的形式。
MVVM模式的特点是引入了数据绑定机制ViewModel负责将模型数据转化为视图可以直接使用的形式并且将视图和模型之间的交互通过数据绑定实现。这种模式使得视图和模型之间的耦合度更低同时也减少了大量的样板代码。
总的来说MVC模式是传统的模式MVP模式在MVC的基础上引入了Presenter来分离视图和模型的交互MVVM模式在MVP的基础上引入了ViewModel来进一步减少视图和模型之间的耦合度。每种模式都有其适用的场景选择合适的模式取决于应用程序的需求和复杂性。