JAVA/DesignPattern

Design Pattern 디자인 패턴 Facade Pattern 파사드 패턴

호두밥 2021. 12. 18. 22:19

Facade Pattern 파사드 패턴

구조 패턴으로 시스템의 복잡한 구성을 숨기면서 퍼블릭 인터페이스(메소드)를 통해 시스템의 기능에 접근할 수 있도록 하는 패턴입니다.

고객이 직접 시스템의 각 객체에 접근해서 사용하는 것이 아니라, 메소드를 추려서 간단한 인터페이스를 제공하는 파사드 객체를 이용해 시스템의 기능을 사용합니다. 

장단점

장점

  • 시스템의 복잡함에서 코드를 분리할 수 있습니다.

단점

  • Facade가 모든 객체가 결합된, 최상위 객체( a God Object)가 될 수도 있습니다.

Facade Pattern 파사드 패턴 구현

도형

public interface 도형 {

}

세모

public class 세모 implements 도형 {
    public 세모() {
        System.out.println("세모");
    }
}

네모

public class 네모 implements 도형 {
    public 네모() {
        System.out.println("네모");
    }
}

동그라미

public class 동그라미 implements 도형 {
    public 동그라미() {
        System.out.println("동그라미");
    }
}

도형그리기

public class 도형그리기 {
	
    public void 모든도형그리기(){
   		네모 rectangle = new 네모();
        세모 triangle = new 세모();
        동그라미 circle = new 동그라미();
        
    }

}

Main

public class Main {

    public static void main(String[] args) {
        도형그리기 도형그리기 = new 도형그리기();
        도형그리기.모든도형그리기();

    }
}
네모
세모
동그라미

참조