第23章 COMPOSITE模式
该模式:并不能把所有的1对多关系转变成1对1关系。只有那些以一致的方法对待列表中的每个对象的情况才具备转换的可能性。
第24章 OBSERVER模式 - 回归为模式
此章主要展示:代码和设计是怎样演化成使用模式的。
该模式有两种主要模式:
*推模型(push model)
*拉模型(pull model)
OBSERVER模式完全取决于被观察对象的复杂性。如果被观察比较复杂,并且观察者需要一个提示,用推模型是合适的;
如果被观察的对象比较简单,那么拉模型很合适。
OBSERVER模式:最大推动力是再来OCP。
第25章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式
ABSTRACT SERVER模式
客户和接口之间的逻辑绑定关系要强于接口和它的派生类之间的逻辑绑定关系。
ADAPTER模式
该模式:使用模拟连接状态。
使用ADAPTER模式:解决方案简单、直接的。让所有的依赖关系都指向正确的方向,并实现起来简单。
BRIDGE模式
在类型层次结构具有多个自由度的情况中,BRIDGE模式通常是有用的。
该模式:稍微复杂,不建议开始时使用,直到明显看出需要完全分离连接策略和通信策略并且需要增加新的连接策略是,才用这个方法。
第26章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API
PROXY模式
PROXY模式的工作原理:每个要被代理的对象都被分成3个部分。
第一部分:接口 - 该接口中声明了客户要调用的所有方法;
第二部分:类 - 该类在不涉及数据库逻辑的情况下实现了接口中的方法;
第三部分:一个知晓数据库的代理。
PROXY模式的优点、好处
- 可以在两个协作的对象都不知道的情况下被插入到它们之间,使用它可以跨越向数据库或网络这样的障碍,而不会影响到任何一个参与者;
- 重要关系的分离(Separation of concerns)
STAIRWAY TO HEAVEN模式
该模式:另一个可以完成和Proxy模式一样的依赖关系倒置的模式。它是使用了类形式(class form)的ADAPTER模式的一个变体。
在真正需要PROXY模式和STAIRWAY TO HEAVEN模式前,就去预测对于它们的需要是非常有诱惑力的。特别是对PROXY模式,在开始时先使用FACADE模式,然后在必要时进行重构。