`
arcticfox9902
  • 浏览: 107203 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

结构型模式

阅读更多

1、代理模式(Proxy Pattern)

      代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。

      使用代理模式创建代表对象,让代表对象控制某对象的访问,被代理的对象可以是远程的对象、创建开销大的对象或需要安全控制的对象。远程代理管理客户和远程对象之间的交互,虚拟代理控制访问实例化开销大的对象,保护代理基于调用者控制对对象方法的访问。代理模式有许多变体,例如:缓存代理、同步代理、防火墙代理和写入时复制代理等。

 

2、组合模式(Composite Pattern)

      组合模式允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。

 

3、装饰者模式(Decorator Pattern)

      装饰者模式动态的将责任附加到对象上。装饰者可以在被装饰者的行为前面与/或后面加上自己的行为,甚至将被装饰者的行为整个取代掉,从而达到特定的目的。

 

4、适配器模式(Adapter Pattern)

      适配器模式将一个类的接口转换成客户期望的另一个接口,让原本接口不兼容的类可以合作无间。

 

5、外观模式(Facade Pattern)

      外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个简单的高层接口,让子系统更容易使用。

 

6、桥接模式(Bridge Pattern)

      当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。但是这种方法不够灵活,继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。

      桥接模式将抽象部分与他的实现部分分离,使他们都可以独立地变化。

 

7、享元模式(FlyWeight Pattern)

      享元模式运用共享技术有效地支持大量细粒度的对象。

      享元是一个共享对象,它可以同时在多个场景中使用,并且在每个场景中都可以作为一个独立的对象。享元不能对它所运行的场景做出任何假设,这里有两个概念:内部状态和外部状态,内部状态存储于享元中,它包含了独立于场景的信息,这些信息使得享元可以被共享;而外部状态取决于享元场景,并根据场景而变化,因此不可共享。用户对象负责在必要的时候将外部状态传递给享元。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics