有一个老到掉牙的系统,需要与一个新系统对接,新老系统的接口要求是不一样的。
你不想直接改动这个老系统,你有什么解决妙方?
改动老系统的风险是比较大的,最好在不改变老系统的情况下增加一些东西,使老系统满足新系统的接口要求,这就是适配器模式的基本思路。
适配器模式 类图 如下:
说明:
1.Interface是新系统需要的接口,而Adapter(适配器)实现了这个接口。
2.对于新系统Client来说,它不用管老系统Adaptee,Client只需要调用满足接口要求的Adapter就行了。
3.Adapter的责任重大,它需要将Client对它的调用转化为对老系统Adaptee的调用,起到“适配”的作用。
你不想直接改动这个老系统,你有什么解决妙方?
改动老系统的风险是比较大的,最好在不改变老系统的情况下增加一些东西,使老系统满足新系统的接口要求,这就是适配器模式的基本思路。
适配器模式 类图 如下:
说明:
1.Interface是新系统需要的接口,而Adapter(适配器)实现了这个接口。
2.对于新系统Client来说,它不用管老系统Adaptee,Client只需要调用满足接口要求的Adapter就行了。
3.Adapter的责任重大,它需要将Client对它的调用转化为对老系统Adaptee的调用,起到“适配”的作用。
适配器模式还有另外一种实现方法,就是Adapter同时实现(或继承)新老系统,但目前Java和.net都不支持双继承,故一般不采用这样的方法。
请看下一文……