适配器模式与外观模式

作者: Kwee | 来源:发表于2016-08-05 09:42 被阅读61次
适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

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

实例解析:
现有两种动物,鸭子和火鸡。各种鸭子通过 Duck 接口实现,各种火鸡通过 Turkey 接口实现。那么如何使用 Duck 接口来实现一只火鸡呢。

类图
//主函数代码
public class DuckTestDrive {
    public static void main(String[] args) {
        //鸭子
        DuckOne duckOne = new DuckOne();
        duckOne.quack();
        duckOne.fly();

        //火鸡
        TurkeyOne turkeyOne = new TurkeyOne();
        turkeyOne.gobble();
        turkeyOne.fly();

        //直接用Duck接口,显然不合适,写个适配器就好了。
        TurkeyOne turkeyTwo = new TurkeyOne();
        TurkeyAdapter turkeyAdapter = new TurkeyAdapter(turkeyTwo);
        turkeyAdapter.quack();
        turkeyAdapter.fly();
    }
}

具体代码

外观模式:
外观模式比较简单,不再用代码进行说明。


外观模式

'适配器模式的意图是,“改变”接口符合客户的期望。而外观模式的意图是,提供子系统的一个简化接口。'

设计原则

  • 最少知识原则:只和你的密友谈话。
    即:当你正在设计一个系统,不管是任何对象,你都要注意它所交互的类有哪些,并注意它和这些类是如何交互的。不要让太多的类耦合在一起。

以下要点可帮助避免违反此原则:
就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围的方法:

  1. 该对象本身;
  2. 被当做方法的参数而传递进来的对象;
  3. 此方法所创建或实例化的任何对象;
  4. 对象的任何组件。
最少知识原则

相关文章

  • 设计模式(java)- 模版方法模式

    之前学习的是适配器模式与外观模式。 对外观模式与适配器模式的理解 适配器模式的意思就是适配,将三孔插座转换为二孔插...

  • 设计模式:结构型

    享元模式 (Pools,Message) 代理模式 适配器模式 :类适配器和对象适配器 装饰者模式 外观模式 桥接...

  • 设计模式的分类

    接口型模式 适配器模式 外观模式 组合模式 桥接模式

  • 设计模式目录

    观察者模式 策略模式 装饰者模式 工厂方法模式 单例模式 命令模式 适配器模式与外观模式 模板方法模式 迭代器与组...

  • 设计模式(结构型模式)

    适配器模式、 装饰器模式、 代理模式、 外观模式、 桥接模式、 组合模式、 享元模式 适配器模式 即定义一个包装类...

  • 结构模式

    结构型模式包括:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种...

  • 结构型模式

    结构型模式有七种:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各...

  • Java中的23种设计模式(二)

    (适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)原文作者:终点 出处:Java之美[...

  • Java设计模式

    1.策略模式 2.观察者模式 3.装饰者模式 4.工厂模式 5.单件模式 6.命令模式 7.适配器模式与外观模式 ...

  • iOS设计模式

    设计模式:MVC模式、单例模式、观察者模式、工厂模式、代理模式、策略模式、适配器模式、模版模式、外观模式、创建模式...

网友评论

    本文标题:适配器模式与外观模式

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