美文网首页
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