首页 > 其他分享 >设计模式之适配器模式

设计模式之适配器模式

时间:2023-03-17 16:31:56浏览次数:58  
标签:usb 实现 Adapter 接口 public 模式 设计模式 适配器


前提:适配器模式有三种-类、对象、接口适配器。(暂时没想到更啥,先更着以前写的适配器模式吧。。。)



使用场景:假设手上有一个ps2插头的设备,但主机对外是usb,这时候需要弄个转换器,将ps2转为usb插头。



 



Java中使用场景:java中的I/O流将字节流转为字符流,如InputStreamReader isr = new InputStreamReader(InputStream in);



 



1 类适配器:



用到的类:接口Ps2、Usb + 实现类Usber + 适配器Adapter。



实现方法:适配器会继承Ps2接口,继承Usber实现类,并重写Ps2接口方法,然后里面调用实现类Usber方法。

public class Adapter extends Usber implements Ps2 {


@Override


public void isPs2() {


isUsb();


}


}


总结:适配器 继承被适配类的实现类,继承适配类的接口并重写。



 



2 对象适配器:



用到的类:同上



组合方式


public class Adapter implements Ps2 {


private Usb usb;


public Adapter(Usb usb){


this.usb = usb;


}


@Override


public void isPs2() {


usb.isUsb();


}


}


 



3 接口适配器:



用到的类:含多种方法的接口A + 抽象类适配器Adapter + 具体实现类B



实现方法:由于直接实现接口A,具体实现类需要实现其所有方法,而通过Adapter抽象类继承接口A,然后具体实现类B在继承抽象类Adapter,就仅需实现部分,而无需实现接口所有(关键是中间层加了抽象类)



 



4 适配器应用场景:



类和对象适配器用于改变已存在具体类的接口规范,而接口适配器模式则用于隐藏接口中不需要实现的部分方法。



 



 



 



 



 



 



 



 



 



 



 

标签:usb,实现,Adapter,接口,public,模式,设计模式,适配器
From: https://blog.51cto.com/u_13854513/6127524

相关文章

  • 单例代理模式之懒汉模式
    /***@Nyapii*/publicclassSingleTon1{//这是饿汉,我饿怕了,不论在什么情况下,我都要一个属于我的汉堡publicstaticvoidmain(String[]args){......
  • python __new__方法与单例模式
    1、new()至少要有一个参数cls,代表当前类,此参数在实例时由python解释器自动识别,2、new()必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以......
  • uniapp小程序工厂模式示例
    //appBusinessHandle.jsconstdoSomeThing=()=>{...}/*小程序启动时需要处理的个性逻辑*/constonLaunchHandle={}/*小程序显示时需要处理的个性逻辑*/constonS......
  • 代理模式
    动态代理动态的生成代理对象,对满足条件的目标对象皆可以生成代理代理对象,没有静态代理一个目标类一个代理类的问题解耦合 JDK动态代理需要目标类有实现接口代理类与......
  • 观察者模式和发布订阅模式
    首先我们必须清楚这两种模式都是设计模式,而不是某种语言的专属;观察者模式(Observer)概念理解观察者模式是一种一对多的依赖关系的行为设计模式,让多个观察者对象监听一......
  • 设计模式——享元模式
    个人理解:抽离公共方法所需的属性进行共享;不需要的字段抽离到外面进行管理。1、享元模式享元模式(FlyweightPattern)主要用于减少创建对象的数量,以减少内存占用和提高性能......
  • Nginx负载均衡的三种模式
    1、轮询模式轮询模式是根据访问时间,之一分配到不同的后端服务器,并且后端服务器如果down掉了,Nginx还会自动剔除这个失效的地址,适合服务器配置相当,无状态且短平快的服务......
  • 设计模式5——模板方法模式
    1、定义模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类。2、核心在抽象父类中封装子类的算法框架,它的init方法可作为一个算法的模板,指导子......
  • 请你谈谈单例模式的优缺点,注意事项,使用场景
    单例模式(Singleton),是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整......
  • 设计模式(二十三)----行为型模式之中介者模式
    1概述一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如在下......