复合模式
复合模式就是多个模式之间相互之间进行协助产生的一种新的模式;
典型的MVC模式就是复合模式;
MVC模式的构成
- 视图(View):用来呈现模型状态,视图通常从模型中取出她需要显示的状态与数据;
- 控制器(Controll):用来取得用户的输入,并解读其对模型的意思;
- 模型(Model):模型持有所有数据,状态和程序逻辑,当模型数据发生变化时,将发送状态变化通知给观察者;
一个简单的MVC流程图例子
MVC模式构成:
模型利用“观察者”让控制器和视图可以随最新的状态改变而更新;
视图和控制器则实现“策略模式”。控制器是视图的行为,如果想改变行为,可直接换控制器;
视图内部通过组合模式来管理各种组件;
- 视图:显示包括窗口、按钮、文本框等,通过组合模式将各种组件展示出来,当控制器控制视图更新时,通知视图层顶级控件就好;
- 控制层:视图和控制层实现了经典的策略模式:视图是一个对象,可以使用不同的策略,而控制器提供了策略,对于任何界面上的行为,视图都委托给了策略,使用了策略,也可让视图与模型层解耦,控制层负责和模型交互,用来传递用户请求;
- 模型层:实现了观察者模式,当状态改变时,相关对象将收到更新通知,使用观察者模式可让模型完全独立于视图与控制器;