前面我们讲了创建型设计模式 那么接下来开始接触结构型设计模式
结构型设计模式 能够帮助我们解耦 从而扩大整体的类结构 方便后续扩展
适配器模式:就相当于我们的转接口 比如我的耳机是原型插口 手机比较新 是TabC接口 那么就需要一个转换头 也就是适配器
基本使用
目标接口(target) : TabC接口 用户所期待的接口
需要适配的类(adaptee):耳机
适配器(adapter):转换头
关系
用户->tatget->adapter->adaptee
public class HeadSetAdaptee { public void listenToMusic() { Log.d("HeadSetAdaptee", "可以戴上听歌了"); } }
interface ITabCTarget { void listenerToMusic(); }
public class TransAdapter implements ITabCTarget { HeadSetAdaptee headSetAdaptee; public TransAdapter(HeadSetAdaptee headSetAdaptee) { this.headSetAdaptee = headSetAdaptee; } @Override public void listenerToMusic() { headSetAdaptee.listenToMusic(); } }
public class Client { public void useHeadSetToListenToMusic() { ITabCTarget iTabCTarget = new TransAdapter(new HeadSetAdaptee()); iTabCTarget.listenerToMusic(); } }
使用组合方式替代 继承 所以需要传入HeadSetAdaptee 对象 到 TransAdapter 中
一般运用于系统升级的时候 对于旧接口的兼容
扫描二维码关注公众号,回复:
1764269 查看本文章