1、什么是适配器 适配器模式(AdapterPattern)是作为两个不兼容的接口之间的桥梁。举个例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。 优点: (1)、可以让任何两个没有关联的类一起运行。 (2)、提高了类的复用。 (3)、增加了类的透明度。 (4)、灵活性好。 缺点: (1)、过多地使用适配器,会让系统非常零乱。比如,明明看到调用的是A接口,其实内部被适配成了B接口的实现,因此如果不是很有必要,不使用适配器。 (2)、由于JAVA至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。 2、适配器模式中的角色分析 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 需要适配的类(Adaptee):需要适配的类或适配者类。 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。 3、实现方式 (1)、类适配器(采用继承实现) (2)、对象适配器(采用对象组合方式实现) 4、代码实现 继承方式:publicclassPhone{充电publicvoidcharging(Voltage5Vvoltage5V){if(voltage5V。output5v()5){System。out。println(电压为5v,可以使用);}else{System。out。println(电压过大不允许使用);}}}publicclassVoltage220V{publicintoutput220v(){intsrc220;System。out。println(输出220V);returnsrc;}}publicinterfaceVoltage5V{publicintoutput5v();}publicclassVoltage5VAdapterextendsVoltage220VimplementsVoltage5V{Overridepublicintoutput5v(){intsrcoutput220v();intdstsrc44;returndst;}}publicclassTest{publicstaticvoidmain(String〔〕args){PhonephonenewPhone();phone。charging(newVoltage5VAdapter());}} 对象组合方式publicclassVoltage220V{publicintoutput220v(){intsrc220;System。out。println(输出220V);returnsrc;}}publicinterfaceVoltage5V{publicintoutput5v();}publicclassVoltage5VAdapterimplementsVoltage5V{privateVoltage220Vvoltage220V;publicVoltage5VAdapter(Voltage220Vvoltage220V){this。voltage220Vvoltage220V;}Overridepublicintoutput5v(){if(null!voltage220V){intsrcvoltage220V。output220v();intdstsrc44;returndst;}else{return0;}}} 5、适配器模式在SpringMVC中的应用 (1)、Spring定义了一个适配接口,使得每一种conroller有一种对应的适配器实现类。 (2)、适配器代替controller执行相应的方法。 (3)、扩展controller时,只需要增加一个适配器类就完成了SpringMVC的扩展。 路过的朋友们,帮忙点个赞。〔玫瑰〕〔玫瑰〕