1. 程式人生 > 其它 >java設計模式-外觀模式

java設計模式-外觀模式

技術標籤:筆記java設計模式設計模式

外觀模式:隱藏系統的複雜性,向客戶端提供了一個客戶端可以訪問系統的介面、減少客戶端對系統的複雜性。
程式碼示例:
1.建立介面Shape


public interface Shape {
    void draw();
}

2.建立實現類Rectangle、Circle、Square類

/**
 * 矩形
 */
public class Rectangle implements Shape{
    @Override
    public void draw() {
        System.out.println("畫矩形");
    }
}
/**
 * 正方形
 */
public class Square implements Shape{
    @Override
    public void draw() {
        System.out.println("畫正方形");
    }
}

/**
 * 正方形
 */
public class Square implements Shape{
    @Override
    public void draw() {
        System.out.println("畫正方形");
    }
}

2.建立ShapeMaker類,供客戶端使用

public class ShapeMaker {

    public void draw() {
        new Rectangle().draw();
        new Circle().draw();
        new Square().draw();
    }

}

3.測試

public class TestShapeMaker {
    public static void main(String[] args) {
        ShapeMaker shapeMaker = new ShapeMaker();
        shapeMaker.draw();
    }
}



根據上面的可知,客戶端需要畫一個正方形、長方形、圓形,如果客戶端自己去建立這些物件,然後呼叫,這樣對於客戶端來說就非常複雜,而通過外觀模式,我們只需要呼叫ShapeMaker的方法即可,具體的畫這些圖形的過程,我們不需要關心,大大降低了客戶端與系統之間訪問的複雜性。

優點:1、減少系統相互依賴。 2、提高靈活性。 3、提高了安全性。

缺點:不符合開閉原則,如果要改東西很麻煩,繼承重寫都不合適。