源码地址:https://github.com/Afengzi/design-pattern/tree/master/src/main/java/com/afengzi/design/adapter
如何把一个立方体放入到一个圆形的洞中?
系统升级后新的接口需要类型是 typeA ,但是老的服务类型还是 typeB , 怎么在不改变老服务类型的情况下满足 新的接口呢?此时就需要适配器模式,把老的服务适配类型 typeA。
适配器模式:把一个类的接口,转换成客户期望的另一个接口类型。以使两个互不兼容的类可以互相合作。
在适配器类中,通过对象组合,包装被适配者。对象组合还有另一个优点:被适配者的任何一个子类,都可以被适配器包装,注入即可。
一个适配器可以包装一个或者多个被适配者类。
uml类图: