设计思想学习—适配器模式
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("给你变成双插"); } }
也可以作为参数传进去,写法很多种,不用拘泥形式。
我认为设计模式并不是说一定要死死的套用固定的格式和写法,主要的还是用此类的想法来最优化的解决遇到的问题。
前面说的那些设计模式都有固定的格式拿来举例子,最终还是为了容易理解设计思想的本身。
个人认为在实际运用中其实有的设计模式并不适合业务的需求,往往需要组合或者变化,所以需要灵活运用思想而不是照搬。
适配器模式主要就是告诉我们,想要对接两个类或者接口,要遵循开闭原则,不要去改动原来的代码,那样可能或带来一系列的变化。
而是要通过一个新建的类来进行转换。
相关文章推荐
- 设计模式学习–适配器模式
- 【HeadFirst 设计模式学习笔记】7 适配器模式和外观模式
- 【设计模式】学习笔记9:适配器模式(Adapter)
- 设计模式学习--------5.适配器模式学习
- 设计模式学习之适配器模式
- Head First 设计模式学习笔记 —— 适配器模式
- 设计模式学习之适配器模式
- hadoop学习3--MapReduce原理及设计思想
- 深度学习(六十二)SqueezeNet网络设计思想笔记
- 设计模式学习笔记十一:适配器模式(Adapter Pattern)
- 设计模式学习笔记十四:适配器模式
- 设计思想学习—工厂方法模式
- Kafka/Metaq设计思想学习笔记
- 设计模式学习(二)适配器模式
- Java设计模式知识学习-----适配器模式
- 设计模式学习笔记之适配器模式、外观模式
- java 设计模式学习笔记(13) - 适配器模式
- 设计模式学习笔记-适配器模式
- 十三、适配器模式——设计模式学习笔记
- java设计模式学习笔记-适配器模式