《Head First 设计模式》 第十二章 复合模式
复合模式
模式
复合模式
复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。
关联
MVC ,即 Model-View-Controller(模型-视图-控制器)
利用观察者模式让控制器和视图可以随最新的状态改变而更新。另一方面,视图和控制器则实现了策略模式。控制器是视图的行为,如果希望有不同的行为,可以直接换一个控制器。视图内部使用者模式来管理窗口、按钮以及其他显示组件。
1、策略模式
视图和控制器实现了经典的策略模式:视图是一个对象,可以被调整使用不同的策略,而控制器提供了策略。视图只关心系统中可视的部分,对于任何界面行为,都委托给控制器处理。使用策略模式也可以让视图和模型之间的关系解耦,因为控制器负责和模型交互来传递用户的请求。对于工作是怎么完成的,视图豪不知情。
2、组合模式
显示包括了窗口、面板、按钮、文本标签等。每个显示组件如果不是组合节点(例如窗口),就是叶节点(例如按钮)。当控制器告诉视图更新时,只需告诉视图最顶层的组件即可,组合会处理其余的事。
3、观察者模式
模型实现了观察者模式,当状态改变时,相关对象将持续更新。使用观察者模式,可以让模型完全独立于视图和控制器。同一个模型可以使用不同的视图,甚至可以同时使用多个视图。