Java 外观模式

 Java设计模式 - 外观模式


外观模式隐藏了系统的复杂性。

它为客户端提供了一个简单的接口,客户端使用接口与系统交互。

外观模式是结构型模式。

例子

class ShapeFacade {
  interface Shape {
    void draw();
  }
  class Rectangle implements Shape {
    @Override
    public void draw() {
      System.out.println("Rectangle::draw()");
    }
  }
  class Square implements Shape {
    @Override
    public void draw() {
      System.out.println("Square::draw()");
    }
  }
  class Circle implements Shape {
    @Override
    public void draw() {
      System.out.println("Circle::draw()");
    }
  }
  private Shape circle = new Circle();
  private Shape rectangle = new Rectangle();
  private Shape square = new Square();

  public ShapeFacade() {
  }
  public void drawCircle() {
    circle.draw();
  }
  public void drawRectangle() {
    rectangle.draw();
  }
  public void drawSquare() {
    square.draw();
  }
}
public class Main {
  public static void main(String[] args) {
    ShapeFacade shapeFacade = new ShapeFacade();
    shapeFacade.drawCircle();
    shapeFacade.drawRectangle();
    shapeFacade.drawSquare();
  }
}

上面的代码生成以下结果。