外觀模式(Facade)-----基於JAVA語言

外觀模式也可以叫做門面模式
    爲子系統或者模塊中的一組接口提供一個一致的訪問方式,此模式定義了一個高層接口,這個接口使得各個子系統/模塊中的功能更加容易使用。
    實際應用中,我們在對付一些老舊的代碼或者即便不是老舊code,但涉及多個子系統時,除了重寫全部代碼,我們還可能採用這樣一種策略:重新進行類的設計,將原來分散在源碼中的類/結構及方法重新組合,形成新的、統一的接口,供上層應用使用,同時也隱藏了子系統或者子模塊中功能實現的複雜性
    例子:
  
  //模塊A中的類
    public class ServiceA {
        public void start(){
            System.out.println("模塊A中的start方法");
        }
    }           
    //模塊B中的類
    public class ServiceB {
        public void run(){
            System.out.println("模塊B中的run方法");
        }
    }

    //模塊C中的類
    public class ServiceC {
        public void end(){
            System.out.println("模塊C中的end方法");
        }
    }

    //外觀類/門面類
    public class Facade {
        private ServiceA a;
        private ServiceB b;
        private ServiceC c;
        public Facade() {
            a = new ServiceA();
            b = new ServiceB();
            c = new ServiceC();
        }
        
        public void start(){
            a.start();
        }
        public void run(){
            b.run();
        }
        public void end(){
            c.end();
        }
        
        public void service(){
            a.start();
            b.run();
            c.end();
        }
        
    }

    //測試類
    public class Test {  
      
        public static void main(String[] args) {  
               Facade f = new Facade();
               f.start();
               f.run();
               f.end();

        f.service();
        }  
    }  
    Facade是我們的外觀類/門面類,用戶可以通過這個類使用到系統中不同模塊中的不同方法,同時也對用戶隱藏了系統中對這些功能的實現細節。給用戶提供了一個統一的訪問方式。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章