有些时候,我们想要使用一些类的某个功能,但是发现这个类提供的接口不符合我们的要求,这个时候就需要让这个接口符合要求,最直接想到的办法就是去改这个接口,但是这个办法明显违背了面向对象的原则。所以,为了解决这个办法,就提出了Adapter模式。Adapter模式分为两种,一种是类Adapter,一种是对象Adapter,后面将对这两种方法进行详细的解释。
首先是类Adapter。
上面的代码中,OperationAdapter这个类将Calculater的add()方法适配到Operation这个类里面,OperationAdapter就是一个适配器。这样做有一个问题,当适配器需要从多个类里面调用方法的时候,类Adapter方法就不适用了,因为java不允许多重继承,既然不能用继承,那么就用组合好了,因此,就有了对象Adapter。
总的来说,对象Adapter比起类Adapter来说要更有用一些,代码很简单,不解释,你们懂的。
下期预告,Proxy模式。