結構模式 01-外觀模式(facade)

zx20110729發表於2018-10-18

Facade模式的定義: 外觀模式隱藏系統的複雜性,並向客戶端提供了一個客戶端可以訪問系統的介面,它向現有的系統新增一個介面,來隱藏系統的複雜性。

我們將建立一個 Shape 介面和實現了 Shape 介面的實體類。下一步是定義一個外觀類 ShapeMaker。ShapeMaker 類使用實體類來代表使用者對這些類的呼叫

結構模式 01-外觀模式(facade)

Shape:形狀介面
Circle:Shape實現類,圓
Rectangle:Shape實現類,矩形
Square:Shape實現類,正方形
ShapeMaker:形狀創造類
複製程式碼

Shape介面程式碼

public interface Shape {
    void draw();
}
複製程式碼

Circle類程式碼

public class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("circle");
    }
}
複製程式碼

Rectangle類程式碼

public class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println("rectangle");
    }
}
複製程式碼

Square類程式碼

public class Square implements Shape {
    @Override
    public void draw() {
        System.out.println("square");
    }
}
複製程式碼

ShapeMaker類程式碼

public class ShapeMaker {
    private Circle circle;
    private Rectangle rectangle;
    private Square square;

    public ShapeMaker() {
        this.circle = new Circle();
        this.rectangle = new Rectangle();
        this.square = new Square();
    }

    public void drawCircle() {
        circle.draw();
    }

    public void drawRectangle() {
        rectangle.draw();
    }

    public void drawSquare() {
        square.draw();
    }
}
複製程式碼

ShapeMaker使用

        ShapeMaker maker = new ShapeMaker();
        maker.drawCircle();
        maker.drawRectangle();
        maker.drawSquare();
複製程式碼

相關文章