您的位置:首页 > 其它

设计模式 (14) - 结构型模式总结

2015-07-26 22:17 176 查看
结构型模式关注于“如何组织对象”形成一个合理的对象结构。我们知道对象都具有属性和方法:

Flyweight/享元模式优化属性的定义来节约内存开销。享元模式把属性分解为“内在属性”和“外部属性”。“内部属性”即“本质属性”的数量相对少并且变化较少,“外部属性”则由客户端维护并以参数的形式通知Flyweight对象。这样的分解方法,使Flyweight对象的内存需求相对较小。享元模式通过抽象工厂方法来创建Flyweight对象并在工厂方法类中内置对象共享机制,这样使用享元模式定义的对象的内存需求更小。
  从对象方法的角度看,结构型模式从两个方面来优化对象的设计:

对象外部接口的优化:
外观模式定义一套新的接口对客户隐藏子系统及子系统间的交互,解除了客户和系统设计之间的耦合;
组合模式为客户提供一致的接口来处理容器对象和叶子对象,客户不必(或者很少)关注容器对象和叶子对象的差异性;
代理模式为对象访问提供一个间接层,为客户隐藏一些访问控制相关的逻辑,例如RPC(远地过程调用)隐藏了“被调逻辑”可能和客户不在相同计算机的事实。

对象接口实现的优化:
适配器模式协调两个不兼容的接口,重用那些功能相似但接口不兼容的代码逻辑;
装饰模式不用继承,而用组合方式为对象动态添加功能,让被装饰对象对于新添加的功能保持透明;
桥接模式解除了面向客户的“抽象接口”和面向实现的“实现接口”之间的耦合,让两个接口独立变化。

由此可见,结构型模式优化了对象的设计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: