adapter设计模式
adapter设计模式
适配器模式尽可能要用对象适配器的结构。
这样才满足松耦合的概念。
例:
//已经存在的接口
ckass ExistingClass
{
public void SpecificRequist()
{
}
public void SpecificRequest2()
{
}
}
//另外一个系统能够
class MySystem
{
public void Process(ITarger target)
{
}
}
//新环境使用的接口。新环境要仅可能用接口实现。
interface ITarget
{
void Request();
}
class Adapter:ITarget
{
ExistingClass daaptee;
public void Request()
{
adaptee.SpecificRequest1();
adaptee.SpecificRequest2();
}
}
要尽可能的使用面向接口编程的方式,对象的返回值要尽可能的用接口或抽象类来描述。
Adapter模式的几个要点
• Adapter模式主要应用于“希望复用一些现存的类,但是接
口又与复用环境要求不一致的情况” ,在遗留代码复用、
类库迁移等方面非常有用。
• GoF23 定义了两种Adapter模式的实现结构:对象适配器
和类适配器。但类适配器采用“多继承”的实现方式,带来
了不良的高耦合,所以一般不推荐使用。对象适配器采用
“对象组合”的方式,更符合松耦合精神。
• Adapter模式可以实现的非常灵活,不必拘泥于Gof23中定
义的两种结构。例如,完全可以将Adapter模式中的“现存
对象”作为新的接口方法参数,来达到适配的目的。
• Adapter模式本身要求我们尽可能地使用“面向接口的编程”
风格,这样才能在后期很方便地适配。
浙公网安备 33010602011771号