设计模式学习笔记-适配器模式

适配器模式


对这个模式我自己的理解是,如果在你的类结构中,你希望引入一个现有的类,并且给这个类增加新的功能,且这个类又无法修改,这时候就需要用到适配器模式了,所以适配器模式是一种补救措施。例如在之前的观察者模式中,每一个新的观察者的加入都需要实现观察者接口,如果一个现有的无法修改的类,希望成为观察者,就需要用到适配器模式了。
假如我们的系统里已经有一个类叫UnChangeable希望它成为观察者可以通过以下方式:

public class MyAdapter extends UnChangeable implements Observer {
    @Override
    public void update(Observable o) {
    //当被观察者变化时,希望UnChangeable做的事情
        super.hashCode();
    }
}

即我们继承了希望复用的类,并且实现了希望适配的接口,这个适配器既有原来类的功能有有观察者的身份。
以上是简单的适配器模式的实现,也叫类适配器
以上例子中是适配观察者,假如我们要适配被观察者,因为成为被观察者需要继承被观察者的父类Obserable,如果被观察者已经有了父类,并且此时希望成为观察者,就需要用到适配器模式,因为一个类只能有一个父类,所以利用继承和组合,这种适配器叫对象适配器,一般形式如下,(其中user有自己的继承体系):

public class ObservableUser extends User{
    
    private Observable observable = new Observable();

    public synchronized void addObserver(Observer o) {
        observable.addObserver(o);
    }
    //此处省略......
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值