1、问题场景
场景: 软件开发过程中,为了快速完成项目需求,会购买第三方库加快开发进度,为了使第三方库和我们的系统兼容,需要做一些变更中间件工作。
问题: 用什么样的方式来适应不同的第三方库库来构建中间件实现兼容。
2、解决办法
适配器模式:将一个类的接口转换成客户希望的另一个接口,实现原本不兼容的类可以通过适配器而兼容使用。换句话说就是做中间转换器。适配器分两大类:类适配器、对象适配器。
2.1、类适配器
简述:通过继承方式复用目标库接口。Target中的可被客户调用的抽象方法,在适配器Adapter中利用多重继承得以组合构造可调用的接口。着重强调针对类方法的接口转换。
UML图:
2.1、对象适配器
简述:通过组合的方式复用目标库接口。Target中的可被客户调用的抽象方法,在适配器Adapter中利用多重继承得以组合构造可调用的接口。着重强调针对对象的接口转换。
UML图:
优缺点:是不能协同工作的部件得以协同工作,同时增强了Adaptee的扩展性。
备注:接口继承和实现继承的区别----接口继承强调子类获取父类接口(vritual接口,模拟实现private继承,子类不对外提供可用接口);实现继承通过继承得到父类的实现方法。C++中public两者皆可得以实现。
---------------------------------------------------------------------------
Name:一个奔跑中的loser
E-mail:chenfeiyoucan@163.com
_________________________________________