享元模式java
适配器模式(Adapter Pattern)是做为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。设计模式
这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是做为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就能够经过笔记原本读取内存卡。ide
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 要被适配的类(网线) */ public class Adaptee { public void request() { System.out.println("链接网线上网!"); } }
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 客户端类:想上网,插不上网线 */ public class Computer { //咱们的电脑须要链接上转接器才能上网 public void net(NetToUsb adapter) { //上网的具体实现,找一个转接头 adapter.handleRequest(); } public static void main(String[] args) { //电脑,适配器,网线 Computer computer = new Computer(); Adapter adapter = new Adapter(); // Adaptee adaptee = new Adaptee(); computer.net(adapter); } }
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 接口转换器的抽像实现 */ public interface NetToUsb { //做用:处理请求(网 => usb) public void handleRequest(); }
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 一、继承方式(类适配器) * 二、组合(对象适配器:经常使用) */ /** * 适配器:须要链接usb和网线 */ public class Adapter extends Adaptee implements NetToUsb { @Override public void handleRequest() { //能够上网了 super.request(); } }
链接网线上网!
package com.xgp.company.结构性模式.第二种_适配器模式; /** * 一、继承方式(类适配器) * 二、组合(对象适配器:经常使用) */ /** * 适配器:须要链接usb和网线 */ public class Adapter implements NetToUsb { private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; } @Override public void handleRequest() { //能够上网了 adaptee.request(); } }
package com.xgp.company.结构性模式.第二种_适配器模式; /** * 客户端类:想上网,插不上网线 */ public class Computer { //咱们的电脑须要链接上转接器才能上网 public void net(NetToUsb adapter) { //上网的具体实现,找一个转接头 adapter.handleRequest(); } public static void main(String[] args) { //电脑,适配器,网线 Computer computer = new Computer(); Adaptee adaptee = new Adaptee(); Adapter adapter = new Adapter(adaptee); computer.net(adapter); } }
链接网线上网!