`

设计模式(八)--外观模式

阅读更多

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

 

意图: 让接口更加简单。

 

public interface Light {
    void on();
    void off();
    void dim();
}

 

public interface Screen {
    void up();
    void down();
}

 

public interface DvdPlayer {
    void on();
    void off();
    void pause();
}

 

 

/**
 * 外观模式类
 * Created by Administrator on 2018/1/9.
 */
public class HomeTheaterFacade {
    private Screen screen;
    private DvdPlayer dvdPlayer;
    private Light light;

    public HomeTheaterFacade(Screen screen, DvdPlayer dvdPlayer, Light light) {
        this.screen = screen;
        this.dvdPlayer = dvdPlayer;
        this.light = light;
    }

    /**
     * 外观模式,
     * 将众多复杂的子模块封装起来,提供一个统一的调用
     * **/
    public void watchMovie(){
        screen.down();
        dvdPlayer.on();
        light.dim();
    }

    public void endMovie(){
        screen.up();
        dvdPlayer.off();
        light.on();
    }

}

 

public class TestFacade {
    public static void main(String[] args) {
        // screen ,light 通过各子类实现传入构造方法
        HomeTheaterFacade homeTheaterFacade = new HomeTheaterFacade(screen,dvdplayer,light);
        homeTheaterFacade.watchMovie();
        homeTheaterFacade.endMovie();
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    - 外观模式(Facade):提供一个统一的接口,用来访问子系统的一组接口。 - 适配器模式(Adapter):使两个接口不兼容的类能够协同工作。 - 桥接模式(Bridge):将抽象部分与实现部分分离,使它们可以独立变化。...

    设计模式--外观模式java例子

    **外观模式(Facade Pattern)**是软件设计模式中的一种结构型模式,它的主要目的是为了解耦复杂的系统,提供一个统一的接口,使得客户端可以更容易地使用这个系统。在Java编程中,外观模式的应用广泛,尤其是在处理...

    设计模式课件大全

    设计模式09-外观模式、享元模式 设计模式10-代理模式、结构型模式大复习 设计模式11-行为模式-责任链、命令模式 设计模式12-解释器模式 设计模式13-迭代器模式 设计模式14-中介者模式、备忘录模式 设计模式15-观察者...

    设计模式精解-GoF23种设计模式解析附C++实现源码

    - 外观模式(Facade):为子系统提供一个统一的接口,使得子系统更容易使用。 - 桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。 - 组合模式(Composite):将对象组合成树形结构以...

    Java设计模式----通俗易懂版

    这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者编写的指南。作者以形象生动的例子解释了23种经典的Java设计模式,使得复杂的概念变得更加易于理解。 首先,我们要...

    设计模式精解-GoF 23种设计模式解析附C++实现源码 完整版

    《设计模式精解-GoF 23种设计模式解析附C++实现源码 完整版》是一份深入探讨软件工程中经典设计模式的重要资料,涵盖了面向对象编程中的核心设计原则和实践。这份资源主要关注GoF(Gang of Four,即《设计模式:可...

    JAVA-设计模式-结构型模式-外观模式

    JAVA-设计模式-结构型模式-外观模式

    设计模式精解-GoF 23种设计模式

    12. **外观模式**:为子系统提供一个统一的接口,使得子系统更容易被使用。 13. **代理模式**:为其他对象提供一种代理以控制对这个对象的访问。常用于控制访问权限或优化性能。 14. **责任链模式**:将请求沿着...

    设计模式-外观模式

    设计模式练习-外观模式厂-JAVA外观模式练习示例。

    新版设计模式手册 - C#设计模式(第二版)

    《新版设计模式手册 - C#设计模式(第二版)》是一部深入探讨C#编程中设计模式的权威指南,尤其适合已经有一定C#基础并希望提升软件设计能力的开发者阅读。设计模式是解决软件开发中常见问题的经验总结,是软件工程的...

    软件设计模式--填空题+简答题(复习7).rar

    2. **设计模式分类**:设计模式通常分为三类:创建型模式(如工厂方法、抽象工厂、单例、建造者、原型)、结构型模式(如适配器、桥接、装饰、组合、代理、外观、享元)和行为型模式(如责任链、命令、解释器、迭代...

    设计模式专题之(十一)外观模式---设计模式外观模式示例代码(python--c++)

    外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个统一的接口,用来访问子系统中的一组接口。外观模式使子系统更容易被使用,因为它为复杂的子系统提供了一个简单的接口,客户端可以通过这个接口与子...

    C#设计模式-外观模式

    **外观模式(Facade Pattern)**是软件工程中一种常用的设计模式,它为复杂的子系统提供了一个简单的接口,使得客户端代码可以更容易地与这些子系统交互。在C#中,外观模式同样被广泛应用,以降低系统的复杂性,提高...

    设计模式PPT---25种设计模式详解

    这份名为“设计模式PPT——25种设计模式详解”的资料,显然是一个深入探讨设计模式的教程,它通过PDF格式对25种主要的设计模式进行了详尽的阐述。 首先,我们要理解设计模式的基本概念。设计模式不是代码,而是一种...

    C++设计模式-基于QT4开源跨平台开发框架 源码

    C++设计模式是一种在软件开发中经过验证的解决常见问题的方法论,它为软件开发提供了标准的解决方案。在本资源中,"C++设计模式-基于QT4开源跨平台开发框架 源码",我们将重点探讨如何在C++编程语言中结合QT4框架来...

    23种 设计模式---面向对象的基本原则

    - 外观模式(Facade):为子系统提供一个统一的接口,使得子系统更加易于使用。 - 适配器模式(Adapter):将两个不兼容的接口转换为兼容的接口,使得原本因接口不兼容而不能一起工作的类可以协同工作。 - 桥接...

Global site tag (gtag.js) - Google Analytics