0
点赞
收藏
分享

微信扫一扫

MVC、MVP和MVVM这三种设计模式的区别

九月的栩 2024-07-24 阅读 24

详谈MVC、MVP 和 MVVM

MVC、MVP 和 MVVM 这三种设计模式的区别

1. 角色职责

  • MVC
    • 模型(Model):负责数据处理和业务逻辑,直接与数据库或数据源交互
    • 视图(View):负责用户界面的展示和用户交互
    • 控制器(Controller):Controller 接收用户输入并处理用户请求,协调 Model 和 View 之间的交互 更新模型和视图
  • MVP
    • 模型(Model):负责数据处理和业务逻辑
    • 视图(View):负责展示和渲染视图,不包含任何业务逻辑,通过接口与Presenter通信
    • 表示器(Presenter):Presenter 作为中间人,负责处理用户交互,调用 Model层 更新数据 并通知 View层 更新显示
  • MVVM
    • 模型(Model):负责数据处理和业务逻辑
    • 视图(View):负责视图的展示和用户交互 通过数据绑定直接与ViewModel交互
    • 视图模型(ViewModel):ViewModel 作为 Model 和 View 之间的桥梁,负责提供视图所需的数据和操作;是视图的抽象,封装了视图的状态和行为,通常会暴露可绑定的属性和命令,View通过数据绑定(data binding)与ViewModel绑定

2. 数据绑定

3. 性能和可测试性

4. 复杂性

5. 技术依赖

6. 综合比较

特征MVCMVPMVVM
复杂性中等
可测试性中等
可维护性中等
灵活度中等

总结

如何选择

举报

相关推荐

0 条评论