您的位置:首页 > 其它

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

2017-12-27 20:10 225 查看

适配器模式

适配器模式(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("给你变成双插");
}
}


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

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

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

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

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

而是要通过一个新建的类来进行转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息