学习结构模式是我们很快能像到的是Adapter ,Bridge,等等的设计模式,我们就有疑问这些为什么总结到结 构型设计模式中,在实际的设计过程中怎样选择合适的设计结构型模式。
结构型设计模式是通过对类和对象的组合生成更大的结构来满足在设计过程中对软件的安全性,可扩展性,有效性等等的要求的实现。同时,结构型创建模式可以实现在实际运行的环境中,对象可以动态实现之间的组合关系。
下面就具体的说明每一个结构型模式
2.1 Adapter Pattern (适配器模式)
功能
将一个类的接口转化成需要的另外的一个接口,Adapter 模式将原来不兼容的类也能在一起工作。
使用的原因
在当前的开发环境中,有类包含着需要的信息,但这个类和我们定义的接口不匹配,对于信息来讲两者信息是相似的。(这样提供了转化的可能)
Adapter Pattern 的实现
对于Adapter Pattern 来讲就是
1 设计现在系统中需要的接口
2 设计适配器来实现这个接口(在适配器中还是包含着需要转换的类)
举例
我们现在开发一个报表的子系统,我们需要一个时间的类,这个类中包含了对时间的显示的处理。在现实的报表中日期包含了好多显示的形式 (二零零五年六月,2005年6月 ,。。。),在dot net 的类库中包含了 DateTime 这个类,DateTime 类包含了时间的信息。
和我们需要的接口一样包含了时间的信息(信息的本质上是没有差别的)。对于我们需要的接口来讲 ,我们需要对时间的显示进行特殊的处理,而对于其他的时间的比较功能还是和DateTime类是一样的
在这样的情况下我们就需要Adapter Pattern模式来实现对接口的实现。
代码实现
2.2 Bridge Pattern (桥接)