kimxavi / design_pattern_practice

0 stars 0 forks source link

Facade #9

Open kimxavi opened 8 years ago

kimxavi commented 8 years ago

Facade Pattern 은 시스템의 복잡성을 숨깁니다. 간단한 인터페이스를 제공함으로써 클라이언트와 시스템 간의 상호작용을 합니다.

하나의 클래스에 인터페이스고 구현이고 다 넣음.

kimxavi commented 8 years ago

class ShapeFacade { interface Shape { void draw();//from ww w .j a va 2 s. co m } 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(); } }