持之以恒
分类: 项目管理
2009-06-10 13:21:35
Adapter模式:关键的特征
意图:将一个无法控制的现有的对象与一个特定的接口相匹配
问题:一个系统拥有正确的数据和行为,但是他的接口是错误的。典型的用途:你必须把某些东西(上面所说的一种情况)实现为我们定义或者拥有抽象类的派生类。
解决方案:Adapter模式用我们需要的接口对无法修改的类进行包装
参与者与协作者:
Adapter对Adaptee的接口进行相应的适配,使它与Target(Adapter派生与他)相匹配。让Client把Adaptee当做Target的一个类型进行使用
效果:Adapter让现存的对象适应新的类的结构,而不受他们的接口的限制
实现:将现存的类的对象包含在另一个类中。包容类与需要的接口进行适配,调用被包容类的方法。
接口的转换:使原有的由于接口不兼容而不能一起工作的那些类一起工作。
使客户对象不必知道相应的细节,可以使用别人的程序
对于一类问题:使用一种共通的方式和其打交道――抽象类,抽象类定义相关的接口,实现在派生类中实现
Adapter模式最通用的用途是保持其他模式需要的多态,用Adapter模式将现存的类和他适当的抽象类进行适配
注意部分适配的问题
Façade模式简化接口,而Adapter模式将接口转化成另外一个现有的接口