浅谈 三种常见的设计模式
MVC (Model-View-Controller)
MVC 模式将应用程序分为三个主要部分:
- Model:负责数据的处理(增加、删除、更改、查询)和相关的业务逻辑。
- View:接收用户的交互请求并根据需求展示数据给用户
- Controller:View 和 Model 的连接器,接收 View 的要求并给对应的 Model 去处理。
MVP (Model-View-Presenter)
MVP 模式将 Controller 改名为 Presenter,只是为了与 MVC 区别开来,同时改变了通信方向。
- View 与 Model 不直接通信,都通过 Presenter 双向传递。
- 解决了 MVC 中 Controller 的臃肿问题,由于担任 Controller 又担任部分 View 的职责,职责不清。
- 但会使 Presenter 的代码暴增,所有逻辑都部署在那里。
MVVM (Model-View-ViewModel)
MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。
- 唯一的区别是,它采用数据绑定(data-binding),View 的变动,自动反映在 ViewModel。
- 单向绑定:只在 ViewModel 变化后,View 会自动更新。
- 双向绑定:如果 View 和 ViewModel 中的任何一方变化后,另一方都会自动更新。
总结
这三种设计模式都旨在分离应用程序的不同部分,以提高代码的可维护性和可扩展性。它们各有优缺点,选择哪种模式取决于具体的应用场景和需求。