概述
适配器模式是指两个不同功能的组件,通过适配器进行功能合并。
适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。
实际上就是:目标对象(Target)提供接口入参和出参类型,适配者(Adaptee)具体实现方法,但由于二者有不同的入参和出参,导致需要适配器(Adapter)组合二者。
图片说明
适配器模型新能源汽车的发动机有电能发动机(Electric Motor)和光能发动机(Optical Motor)等,各种发动机的驱动方法不同,例如,电能发动机的驱动方法 electricDrive() 是用电能驱动,而光能发动机的驱动方法 opticalDrive() 是用光能驱动,它们是适配器模式中被访问的适配者。
客户端希望用统一的发动机驱动方法 drive() 访问这两种发动机,所以必须定义一个统一的目标接口 Motor,然后再定义电能适配器(Electric Adapter)和光能适配器(Optical Adapter)去适配这两种发动机。
代码
目标和适配者 适配器使用的时候是使用适配器,适配器自动使用适配者引用执行。
测试代码推荐 看着个代码比较经典的例子,参考了适配器模式。
网友评论