分类: C/C++
2012-03-25 19:28:44
各种模式合作而构成的模式就是复合模式。MVC就是一种复合模式。
MVC:Model-View-Controler。真正的数据称为模型(Model),显示数据的UI称为视图(View),而控制器 (Controller)负责操作模型。用户和视图交互,视图把命令传递给控制器,控制器根据用户输入对模型进行改变,同时也对视图进行相应修改(比如使 某个按钮无效)。当模型发生改变时,视图就会收到通知,从而做出相应的更新。
MVC里涉及到的设计模式有:
策略模式:控制器是视图的一个策略,视图可以更换控制器来改变逻辑。
观察者模式:视图是模型的观察者,当模型变化时,视图可以得到通知。
组合模式:视图本身是一个树形结构。我们只需对视图最顶层的组件(比如窗口对象)进行操作,组合会处理我们的请求。