设计思想学习—适配器模式

适配器模式

适配器模式(Adapter):将类的接口转换为客户希望的另一个接口。

适配器模式组成:

  • 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
  • 需要适配的类(Adaptee):需要适配的类或适配者类。
  • 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。  

UML图
这里写图片描述

个人理解
适配器就跟我们现实用的转接头一样,三插想要插在双插插座上需要转换器,苹果电脑连网线需要转换器,转换器就是我们这里的适配器一个意思,主要是让两个不匹配的事物结合。

代码

interface Target {  
    void doSome();  
}  
class Adaptee{
    public void toDo(){
        System.out.println("我是三插");
    }
}
class Adapter implements Target{
    private Adaptee adaptee=new Adaptee();
    @Override
    public void doSome() {
        adaptee.toDo();
        System.out.println("给你变成双插");   
    }

}

这里是持有对象的写法,然后通过适配器让三变二就能插入双插的插座
还有一种写法是继承

class Adapter extends Adaptee implements Target{
    @Override
    public void doSome() {
        super.toDo();
        System.out.println("给你变成双插");       
    }   
}

也可以作为参数传进去,写法很多种,不用拘泥形式。

我认为设计模式并不是说一定要死死的套用固定的格式和写法,主要的还是用此类的想法来最优化的解决遇到的问题。

前面说的那些设计模式都有固定的格式拿来举例子,最终还是为了容易理解设计思想的本身。

个人认为在实际运用中其实有的设计模式并不适合业务的需求,往往需要组合或者变化,所以需要灵活运用思想而不是照搬。

适配器模式主要就是告诉我们,想要对接两个类或者接口,要遵循开闭原则,不要去改动原来的代码,那样可能或带来一系列的变化。

而是要通过一个新建的类来进行转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值