设计模式大总结2-结构型模式

来源:互联网 发布:mac u盘格式 编辑:程序博客网 时间:2024/05/17 03:40

上篇我们介绍完了创建型模式,今天我们继续总结结构型模式,它分别包括适配器模式、装饰模式、桥接模式、组合模式、享元模式、代理模式和外观模式。

1、适配器模式

定义:将一个类的接口转换成客户希望的另外一个接口。--------------双方都不适合修改的时候考虑适配器模式

图例:


2.装饰模式

定义:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。

优点:装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时候,客户端就可以选择的按顺序的选择装饰功能.

图例:



3、桥接模式:

定义:将抽象的部分,实现部分分类,是他可以独立变化。

PS:如果继承不能满足开放-封闭原则的话考虑桥接模式。

图例:手机品牌和手机软件的关系。


4、组合模式

定义:将对象组合成树形模式以表示”部分-整理“的层次结构,组合模式使得对象对单个对象和组合对象的使用具有一致性。

优点:整体和部分可以被一致对待。



5、享元模式

定义:运用共享技术有效的支持大量细粒度的对象。

优点:如果一个程序大量的是用对象,而且这些对象造成很大的存储开销时候考虑。


6、代理模式

定义:对其他对象提供一种代理以控制对这个对象的访问

优点:

a、远程代理:可以隐藏一个对象在不同空间地址的事实。

b、虚拟代理:通过代理来存放需要很长时间实例化的对象。

c、安全代理:用来控制真实对象的访问权限。

d、智能引用:当调用真实对象时,代理处理另外一些事情。

图例:



7.外观模式

定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统更加容易使用。

图例:




0 0
原创粉丝点击