外观模式(Facade)

外观模式

一.外观(门面)模式

1.1 定义

二.具体实现

2.1 创建模块接口

    public interface IModule {
        void print();
    }

2.2 创建具体模块

    public class ModuleA implements IModule {
        @Override
        public void print() {
            System.out.println("moduleA print ...");
        }
    }
    public class ModuleB implements IModule {
        @Override
        public void print() {
            System.out.println("moduleB print ...");
        }
    }

2.3 创建门面对象

    public class Facade {
        private IModule moduleA = new ModuleA();
        private IModule moduleB = new ModuleB();
        public void print(){
            moduleA.print();
            moduleB.print();
        }
    }

2.4 调用

    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.print();
    }

2.5 输出

    moduleA print ...
    moduleB print ...

三.优缺点

3.1 优点

  • 减少系统间相互依赖.
  • 提高安全性.

3.2 缺点

  • 不符合开闭原则,修改代码复杂.

四.源码

    https://github.com/Seasons20/DisignPattern.git

END

    原文作者:Knowing
    原文地址: https://segmentfault.com/a/1190000015017161
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞