美文网首页
Head First 设计模式(7)适配器模式

Head First 设计模式(7)适配器模式

作者: kaiker | 来源:发表于2021-07-17 16:11 被阅读0次

1、本章的例子——鸭子

public interface Duck {
  public void quack();
  public void fly();
}

public interface Turkey {
  public void gobble();
  public void fly();
}

希望把火鸡冒充成鸭子,可以提供一个接口适配器

public class TurkeyAdapter implements Duck {
  Turkey turkey;
  public TurkeyAdapter(Turkey turkey) {
    this.turkey = turkey;
  }

  public void quack() {turkey.gobble();}

  public void fly() {turkey.fly();}
}

2、适配器模式

将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类合作无间。

适配器模式类图
  • 通过组合实现适配

java中真实的适配器

  • remove()不存在于Enumeration中,适配器可以给这个放放抛出UnsupportedOperationException异常


    迭代器适配

3、外观模式

提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

外观模式类图

4、设计原则

最少知识:只和你的密友谈话

  • 需要注意对象交互的类有哪些
  • 对象和类是如何交互
  • 不要让太多的类耦合在一起,面的修改系统中的一部分,会影响到其他部分

如何做到

  • 只调用属于该对象本身
  • 被当做方法的参数而传递进来的对象
  • 此方法所创建或实例化的任何对象
  • 对象的任何组件

相关文章

网友评论

      本文标题:Head First 设计模式(7)适配器模式

      本文链接:https://www.haomeiwen.com/subject/aprwpltx.html