外觀模式(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

相關文章
相關標籤/搜索