设计模式之适配器模式
2017-04-05 19:37
120 查看
适配器模式(adapter)
- 将一个类的接口转换成客户希望的另一个接口。Adapter模式是的原本由于接口
不兼容而不能一起工作的那些类可以在一起工作。
模式中的角色:
- 目标接口(Target):客户所期待的接口。目标可以是具体的或者抽象的类,也可以是接口
- 需要适配的类(Adaptee):需要是配的类或适配者类
- 适配器(Adaptee):通过包装一个需要适配的对象,把原接口转换成目标接口。
类适配器
public class Adapter extends Adaptee implements Target{
@Override
public void handleReq() {
// TODO Auto-generated method stub
super.request();
}
}
对象适配器
public class Adapter2 implements Target{
private Adaptee adaptee;
public Adapter2(Adaptee adaptee) {
super();
this.adaptee = adaptee;
}
@Override
public void handleReq() {
adaptee.request();
}
}
工作中的场景
- 经常用来做旧系统改造升级
- 如果我们的系统开发之后再也不需要维护,那么很多模式都是没必要的,
但不行的是,事实却是维护一个系统的待加往往是开发一个系统的数倍。
学习中见过的场景,字符流,字节流
- java.io.InputStreamReader(InputStream)
- java.io.OutputSreamWriter(OutputStream)
- 将一个类的接口转换成客户希望的另一个接口。Adapter模式是的原本由于接口
不兼容而不能一起工作的那些类可以在一起工作。
模式中的角色:
- 目标接口(Target):客户所期待的接口。目标可以是具体的或者抽象的类,也可以是接口
- 需要适配的类(Adaptee):需要是配的类或适配者类
- 适配器(Adaptee):通过包装一个需要适配的对象,把原接口转换成目标接口。
类适配器
public class Adapter extends Adaptee implements Target{
@Override
public void handleReq() {
// TODO Auto-generated method stub
super.request();
}
}
对象适配器
public class Adapter2 implements Target{
private Adaptee adaptee;
public Adapter2(Adaptee adaptee) {
super();
this.adaptee = adaptee;
}
@Override
public void handleReq() {
adaptee.request();
}
}
工作中的场景
- 经常用来做旧系统改造升级
- 如果我们的系统开发之后再也不需要维护,那么很多模式都是没必要的,
但不行的是,事实却是维护一个系统的待加往往是开发一个系统的数倍。
学习中见过的场景,字符流,字节流
- java.io.InputStreamReader(InputStream)
- java.io.OutputSreamWriter(OutputStream)
相关文章推荐
- 结构型设计模式---Adapter模式(适配器模式)
- 设计模式[3] Adapter 适配器模式
- 设计模式c#语言描述——适配器模式
- Head First 设计模式之适配器模式学习
- Java设计模式之适配器模式
- 深入浅出Java设计模式之适配器模式
- 设计模式学习(七)适配器模式
- 设计模式1-适配器模式(Adapter)
- 设计模式 - Adapter Pattern(适配器模式)
- 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)
- 结合实现谈设计模式——适配器模式
- 深入浅出Java设计模式之适配器模式
- 设计模式——适配器模式
- .NET设计模式-适配器模式(Adapter Pattern)
- Dot Net设计模式—适配器模式
- 设计模式c#语言描述——建造者模式、适配器模式、合成(Composite)模式
- 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)
- Java设计模式之适配器模式
- .NET设计模式(8):适配器模式(Adapter Pattern)
- 设计模式(9)-适配器模式(Adapter)