北京外贸网站建设价格,礼物网站模板,wordpress主题修改头部,企业网站设计费用适配器模式
一、定义
在不修改原来代码的情况下#xff0c;适配器模式使接口不兼容的那些类可以一起工作。
二、适配器结构
1、Target#xff08;目标抽象类#xff09;#xff1a;目标抽象类定义客户所需的接口#xff0c;可以是一个抽象类或者接口#xff0c;也可以…适配器模式
一、定义
在不修改原来代码的情况下适配器模式使接口不兼容的那些类可以一起工作。
二、适配器结构
1、Target目标抽象类目标抽象类定义客户所需的接口可以是一个抽象类或者接口也可以是具体类。在类适配器中由于Java语言不支持多重继承它只能是接口。 2、Adapter适配器类它可以调用另一个接口 作为一个转换器对Adaptee和Target进行适配。适配器Adapter是适配器模式的核心在类适配器中它通过实现Target接口并继承Adaptee类来使二者产生联系在对象适配器中它通过继承Target并关联一个Adaptee对象来使二者产生联系。 3、Adaptee适配者类适配者即被适配的角色它定义了一个已经存在的接口这个接口需要适配适配者类一般是一个具体的类包含了客户希望使用的业务方法在某些情况下甚至没有适配者类的代码。
三、实现
mac电脑多屏显示需要外接显示屏此时就需要一个转接头。
1、类适配器
// 定义一个屏幕显示画面
public class Screen {public void show(){System.out.println(屏幕显示画面);}
}
//定义一个显示器适配器转接头
public interface ScreenAdapter {void adaption();
}
//将显示器接到mac上完成多屏显示
public class ToMacAdapter extends Screen implements ScreenAdapter{Overridepublic void adaption() {System.out.println(接入转换器);super.show();}
}2、对象适配器
但是我又想接多屏显示又想听音乐的话类适配器就不能支持了。这时我们可以用对象适配器。
//听音乐
public class Music {public void listen(){System.out.println(listen music);}
}public interface MixAdapter {//听音乐void listenMusic();//联网void screen();
}public class USBCAdapter implements MixAdapter{private Screen screen;private Music music;Overridepublic void listenMusic() {music.listen();}Overridepublic void screen() {screen.show();}
}四、适配器模式的优缺点
优点 1、能提高类的透明性和复用现有的类复用但不需要改变。 2、目标类和适配器类解耦提高程序的扩展性。 3、在很多业务场景中符合开闭原则。 缺点 1、适配器编写过程需要全面考虑可能会谧加系统的复杂性。 2、增加代码阅读难度降低代码可读性过多使用适配器会使系统代码变得凌乱。