본문 바로가기

프로그래밍/자바 디자인 패턴

자바 디자인 패턴 튜토리얼 - 구조 설계 패턴 - 퍼사드 패턴

반응형

퍼사드 패턴은 시스템의 복잡성을 숨깁니다.

클라이언트에 대한 간단한 인터페이스를 제공하고 클라이언트는 인터페이스를 사용하여 시스템과 상호 작용합니다.

퍼사드 패턴은 구조 설계 패턴입니다.

예제





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();
  }
}



위의 코드는 다음 결과를 출력합니다




circle :: draw()
Rectangle :: draw()
Square :: draw()
반응형