文章目录
MVC 设计模式
日常大家都会听到,名字很简单,但是很实用,日常 Android 工程开发基本都会用到,但是仔细了解下,其实也会有很相对于原来基本了解的扩充。MVC (Model–view–controller)架构将程序分为:
- Model :程序定义的基础数据模型,和用户的界面显示部分相互独立
- View:展示信息以及获取用户交互的输入,数据信息来源于 Model
- Controller:Tie the Model to the View。连接 View 和 Model ,负责逻辑部分处理
MVC 架构将应用程序中的角色分为 M V C 三个部分,这样的橘色拆分定义了角色,同时也为模块之间划分了边界,各个模块通过边界定义的接口去进行通信,角色划分之后,模块之间的组合方的不同,也会有不同的 MVC 模式。
传统的 MVC 架构

图上的逻辑资料参考 Apple 官网 的文档
在上面的 MVC 架构中,基本的流程如下:
- 用户操作界面,产生相应的交互事件,事件会传递到 Controller 中。
- Controller 中根据事件的类型,决定是去更新 Model 还是改变 View 的i行为
- Model 改变了已有回去将数据变化通知到 Observer 中。
自己在看 Apple 的官方文档时,有这样一段描述,文档中介绍 View 模块中,也是对 组合(Composite)模式的使用,确实:在 View 模块中,View 视图会相互嵌套组合ÿ