Facade模式的定義: 外觀模式隱藏系統的複雜性,並向客戶端提供了一個客戶端可以訪問系統的介面,它向現有的系統新增一個介面,來隱藏系統的複雜性。
我們將建立一個 Shape 介面和實現了 Shape 介面的實體類。下一步是定義一個外觀類 ShapeMaker。ShapeMaker 類使用實體類來代表使用者對這些類的呼叫
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();
複製程式碼