MVC(Model - View - Controller)
MVC 是开发客户端最经典的设计模式
用户操作 --> View(负责接收用户的输入操作)–> Controller(业务逻辑处理)–> Model(数据持久化)–> View(将结果反馈给 View)
在开发中,除了简单的 Model、View 以外的所有部分都被放在了 Controller 中。Controller 负责显示界面、响应用户的操作、网络请求以及与 Model 的交互,这就导致了 Controller:
- 逻辑复杂,难以维护
- 和 View 紧耦合,无法测试
MVVM(Model - View - ViewModel)
MVVM 以“数据双向绑定”为核心思想。
View 和 Model 之间没有联系,通 ViewModel 进行交互,而且 Model 和 ViewModel 之间的交互是双向的,因此视图的数据改变会同时修改数据源,而数据源的数据变化也会立即反映到 View 上。