外观模式(Facade)

外观模式git

一.外观(门面)模式

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

ENDgithub

相关文章
相关标签/搜索