欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

外观模式:让你的设计更加简洁易懂

最编程 2024-08-05 22:01:30
...

外观模式

定义

外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。

简单的说,就是我们需要使用多个类的多个方法来实现一个功能,然后为了简化用户的使用,我们将这一系列的调用通过一个Facade封装成一个方法,这样用户使用的时候只需要调用Facade封装过后的一个方法就可以了。

示例与代码

//定义多个子系统和对应的需要完成的任务
class SubSystem1 {
    public task1() {}
}

class SubSystem2 {
    public task2() {}
}

class SubSystem3 {
    public task3() {}
}

//定义外观(Facade)
class Facade {
    SubSystem1 s1 = new SubSystem();
    SubSystem1 s2 = new SubSystem();
    SubSystem1 s3 = new SubSystem();
    
    taskAll() {
        s1.task1();
        s2.task2();
        s3.task3();
    }
}

//使用
public class Main {
    public static void main(String[] args) {
        new Facade().taskAll();//只需要调用一个方法即可
    }
}

总结

外观模式是一个比较简单的设计模式,但是不符合开闭原则,因为要改变一个低层次的类,高层次的外观(Facade)也需要修改代码。

推荐阅读