外观模式(facade)

2019-03-19  本文已影响0人  程序员不会取昵称

百度定义:Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。它是为子系统中的一组接口所提供的一个一致的界面。
总而言之就是通过新增一个类将另外几个类进行整合。对外提供一个更简洁的调用方法。

比如你想要请假,首先得需要项目经理审核,接着是总经理,最后是老板,自己一个个向他们申请。

class ProjectManager{
    void procheck(){
        System.out.println("项目经理通过");
    }
}

class GeneralManager{
    void gencheck(){
        System.out.println("总经理通过");
    }
}
class BossManager{
    void bosscheck(){
        System.out.println("老板通过");
    }
}
    public static void main(String[] args) {
        //普通调用
        new ProjectManager().procheck();
        new GeneralManager().gencheck();
        new BossManager().bosscheck();
    }

可是这样太麻烦了,这需要在main方法中调用了三个对象方法,那可不可以简化一下,只要调用一个对象方法就行了,于是外观模式就出现了。它需要你新建一个类,在这个新建的类中加一个方法整合一下这三个对象方法,之后你直接调用他的对象方法就行了。


public class Check {
    void check(){
        new ProjectManager().procheck();
        new GeneralManager().gencheck();
        new BossManager().bosscheck();
    }
}
    public static void main(String[] args) {
        //使用外观(facade)模式
        new Check().check();
    }

感觉电脑的例子更形象:(参考)
电脑整机是 CPU、内存、硬盘的外观。有了外观以后,启动电脑和关闭电脑都简化了。
直接 new 一个电脑。
在 new 电脑的同时把 cpu、内存、硬盘都初始化好并且接好线。
对外暴露方法(启动电脑,关闭电脑)。
启动电脑(按一下电源键):启动CPU、启动内存、启动硬盘
关闭电脑(按一下电源键):关闭硬盘、关闭内存、关闭CPU

上一篇下一篇

猜你喜欢

热点阅读