结构型设计模式

本文简要介绍7种类结构型设计模式。

适配器(Adapter)

适配器模式,强调将一个既有类”改造“成目标类型,这种”改造“不是重构,而是添加适配器,在适配器方法(与目标类型同)中调用既有类的功能,实现间接”改造“。

适配器有两种实现方法,多重继承和对象组合,前者只支持适配一个具体的类,后者允许适配既有类或其子类。根据实际场景选择最佳方案。

类适配器

采用类的多重继承实现:

对象适配器

采用对象组合来实现:

代理(Proxy)

代理模式,强调为既有类提供一种代理,以控制对既有类实例的访问。

享元(Flyweight)

享元模式,强调将一个类中的状态划分为内部状态和外部状态两类,以参数形式传入外部状态,从而归并类实例减小运行内存消耗。

组合(Composite)

组合模式,强调单个对象和组合对象的接口一致性,适合定义树形结构。

装饰(Decorator)

装饰模式,强调给一个对象添加一些额外职责。.NET Framework中的IO流深度使用了该设计模式。

外观(Facade)

外观模式,强调对客户屏蔽子系统组件,从而实现子系统与客户之间的松耦合关系。

桥接(Bridge)

桥接模式,强调抽象部分与实现部分分离,特别适合脱平台开发。

评论