模式之接口型模式,我们都知道接口的目标在于它们描述了在类协作中所期望得和不期望的行为。如果我们能适当的运用接口,就能简化并完善我们的程序设计。比如如果我们需要某项功能,而且提供该功能的代码已经存在,但是因为接口不兼容或者而无法使用该部分代码。那现在该如何做呢?不知道大家对适配器有没有印象,比如你有个2口的电源线,但是发现只有3口的电源插座,如果我们需要用这个3口的电源插座,该怎么办,在现实生活中便有解决这种问题得工具--电源适配器,有了它我们就可以使2口的电源线转变为3口的了,而这个3口的电源插座我们就可以利用起来。而设计模式之Adapter的作用也如电源适配器一样,它得功效便是将一个(或多个)类的接口转化为我们需要类所具备的另外一个
接口。用通俗的话来说就是为一个功能正确但接口不合的对象创建一个新接口。
Adapter 模式有2种实现方式:
1.创建一个所需接口的新类,然后包装原有类的方法,称之为对象适配模式,因为它依赖与一个对象(适配对象)包含另外一个对象(被适配对象)
2.通过多重继承来实现适配。而这种适配方式称之为类适配方式。
总之运用那种适配方式要根据实际情况而定。
下面的代码变变很清楚的说明了2种适配方式的区别:
执行结果是:
执行行动A
执行行动B
执行行动B
从上述代码执行结果来看,我们发现利用适配器模式可以得到我们想利用的代码功能,即使它的接口方法并兼容。通过Adapter设计模式的运用,我们就能不破坏原来接口的基础上使用不兼容接口所提供的方法,简而言之变是将不兼容接口变为兼容。
好了。适配器模式介绍到这里,在下一篇中将介绍外观模式