1. 程式人生 > 其它 >設計模式 -> 結構型 - 外觀(Facade)

設計模式 -> 結構型 - 外觀(Facade)

本文主要分析設計模式 - 結構型 - 外觀(Facade),它提供了一個統一的介面,用來訪問子系統中的一群介面,從而讓子系統更容易使用

1. 意圖

提供了一個統一的介面,用來訪問子系統中的一群介面,從而讓子系統更容易使用。

2. 類圖

3. 實現

觀看電影需要操作很多電器,使用外觀模式實現一鍵看電影功能

public class SubSystem {
    public void turnOnTV() {
        System.out.println("turnOnTV()");
    }

    public void setCD(String cd) {
        System.out.println("setCD( " + cd + " )");
    }

    public void starWatching(){
        System.out.println("starWatching()");
    }
}
public class Facade {
    private SubSystem subSystem = new SubSystem();

    public void watchMovie() {
        subSystem.turnOnTV();
        subSystem.setCD("a movie");
        subSystem.starWatching();
    }
}
public class Client {
    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.watchMovie();
    }
}