首页/开发/系统分析与架构设计速查/表现层模式:MVC / MVP / MVVM
架构风格与模式58 条

表现层模式:MVC / MVP / MVVM

三种经典表现层模式的区别在于视图与逻辑的耦合方式:MVC 由控制器处理输入,MVP 通过呈现器与被动视图交互,MVVM 借助数据绑定自动同步视图与视图模型。

对比

模式核心角色典型场景
MVC模型-视图-控制器服务端 Web 框架
MVP模型-视图-呈现器测试要求高的桌面/移动端
MVVM模型-视图-视图模型数据绑定的前端框架
模式选择受框架约束,关键是业务逻辑不写在视图层,视图可替换。

易错点

  • 业务逻辑写进视图事件处理,无法测试与复用
  • 视图模型直接依赖网络与存储,绑定层变成业务层

数据来源与参考

  • Martin Fowler《Patterns of Enterprise Application Architecture》相关模式
  • Trygve Reenskaug MVC 原始文献(1979)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌