java设计模式(五)---适配器模式

适配器模式主要是用于接口不兼容但是有不至于系统重构,这个时候就可以通过适配器来使接口兼容。项目中也会经常用到,面试偶尔会问到。
一、适配器模式的定义:
适配器模式是将一个类的接口转换成成客户期望的另一个接口,适配器让原来的接口不兼容的类可以合作无间。现实中我们也经常用到各种适配器(也就是转换器,电压转换器,买港版苹果的需要一个插头转换器,等等)
二、适配器模式涉及的角色:
为了便于理解,整个适配器模式就用安卓转苹果充电插头的例子加深一下理解。
1.客户(苹果手机)
客户是一句目标接口实现的。(苹果手机的充电槽肯定默认是苹果线,也就是根据苹果线实现的)
2.被适配者(安卓充电线)
被适配者就是一个接口,并且跟客户不兼容的(安卓充电线,默认就是充安卓设备的电,跟苹果不兼容)
3.适配器(安卓转苹果线)
适配器实现了目标接口,并且有被适配者的实例。图片应该更好理解
适配器
三、适配器模式整个过程
1.客户通过目标接口调用适配器的方法对适配器发出请求(苹果手机插上适配器,对适配器说:“老子要充电!”)
2.适配器使用被适配者接口把请求转换成被适配者的一个或多个接口的调用(适配器用安卓口向安卓充电线发出充电请求调用)
3.客户接收到调用的结果,但并未察觉这一切是适配器在起转换作用。(苹果只管充电,它不会知道是什么充电器给他冲的点,只知道电视从苹果头那个地方来的)
四、适配器实现(类适配器模式)原理:通过继承来实现适配器功能
1.需要一个目标接口(一个苹果的插头接口)(苹果插头应该张成什么样子)
接口
2.需要一个目标接口的实现(苹果插头的实际产品,需要实现功能)
实现
3.需要一个被适配者的接口(安卓插头的接口)
接口
4.需要一个被适配者的实现(安卓插头的实现)
实现
5.需要一个适配器(最最重要的一个器件,如上面的真实图例)
适配器
6.适配器使用
使用
四、适配器实现(对象适配器模式)原理:通过组合来实现适配器功能。
适配器二

使用方式:
使用

关于类适配器与对象适配器的选择:
类适配器是用继承的方式,而对象适配器使用的是组合的方式,组合优于继承,推荐使用对象继承器
关于适配器模式的优缺点:
优点:
更好的复用性,更好的扩展性
缺点:
用的太多的话,代码混乱,不易于管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java设计模式是一组经过实践验证的面向对象设计原则和模式,可以帮助开发人员解决常见的软件设计问题。下面是常见的23种设计模式: 1. 创建型模式(Creational Patterns): - 工厂方法模式(Factory Method Pattern) - 抽象工厂模式(Abstract Factory Pattern) - 单例模式(Singleton Pattern) - 原型模式(Prototype Pattern) - 建造者模式(Builder Pattern) 2. 结构型模式(Structural Patterns): - 适配器模式(Adapter Pattern) - 桥接模式(Bridge Pattern) - 组合模式(Composite Pattern) - 装饰器模式(Decorator Pattern) - 外观模式(Facade Pattern) - 享元模式(Flyweight Pattern) - 代理模式(Proxy Pattern) 3. 行为型模式(Behavioral Patterns): - 责任链模式(Chain of Responsibility Pattern) - 命令模式(Command Pattern) - 解释器模式(Interpreter Pattern) - 迭代器模式(Iterator Pattern) - 中介者模式(Mediator Pattern) - 备忘录模式(Memento Pattern) - 观察者模式(Observer Pattern) - 状态模式(State Pattern) - 策略模式(Strategy Pattern) - 模板方法模式(Template Method Pattern) - 访问者模式(Visitor Pattern) 4. 并发型模式(Concurrency Patterns): - 保护性暂停模式(Guarded Suspension Pattern) - 生产者-消费者模式(Producer-Consumer Pattern) - 读写锁模式(Read-Write Lock Pattern) - 信号量模式(Semaphore Pattern) - 线程池模式(Thread Pool Pattern) 这些设计模式可以根据问题的特点和需求来选择使用,它们提供了一些可复用的解决方案,有助于开发高质量、可维护且易于扩展的软件系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值