UI_设计模式_MVC

设计模式分为三种类型,共23种。
- 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
- 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
- 行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
MVC:框架级设计模式
M:Model用于建立数据模型(即数据的结构)(存储、处理数据,为应用程序提供数据)
V:View展示数据(我们看到的所有控件都是View)(展示用户界面视图,提供用户交互,展示模型提供的数据)
C:control控制M和V的通信 (控制视图显示,处理用户交互,从模型中获取数据展示在视图上,目的是解除模型和视图之间的耦合)
C和V通信
- C直接控制V。例如:在Controller中创建一个UIButton
- V向C发起通信的方式:
- 设置View的target/action,例如设置UIButton的target/action
- 设置delegate,例如设置UITextField、UIAlertView代理。
- 设置dataSource,例如设置UITableView的dataSource
- C负责处理V产生的事件
C和M通信
- C向M提出需求,直接使用M提供的数据
- M向C发起通信方式:KVO、通知(notify),可以在M发生变化时通知C
- C负责读取M提供的数据,负责监控M的变化并进行处理
V和M通信
- V和M禁止通信
- C负责M和V之间的通信,C从M获取数据,将数据显示在View上
MVC的优势
- 实现低耦合,减少视图和控制器之间复杂冗余的代码
- 提高重用性,多个视图可以共享一个模型,多个控制器可以共享一个视图
- 更易于维护,M、V、C独立,可以分别处理不同的变化
M通过KVO和通知与C进行通信

浙公网安备 33010602011771号