디자인 패턴 정리 (GOF - Facade Pattern)

Youngmin Choi·2021년 12월 14일
0

Design-Pattern

목록 보기
8/9

7. 퍼사드 패턴 (Facade Pattern)

  • 용도 :
  1. 대규모 프로그램에는 서로 관련있는 클래스들이 많다. 그래서 복잡하게 얽혀있는 클래스들을 정리해서 높은 레벨의 인터페이스(API)를 제공할 수 있다! 즉, 간단하게 접근가능 하다는 소리!
  2. 여러 클래스들을 직접 제어하지 않고 '창구(Facade)에게 요구한다.
  3. 결과적으로 구현시에 간단한 인터페이스를 허용할 수 있게 한다.


    요약 :
    전자레인지를 타이머만 설정하고 버튼만 클릭하면 언제든지 동작 시킬 수 있다!
    여기서 인련의 동작과정들을 이해할 필요가 없다는 것!
    (만약 전자레인지 작동을 위해서 우리가 타이머의 전원을 넣고, 실행 신호를 보내고, 마이크로파 발생기 머시기를 직접 다 작동시킬 필요XXX)
    그래서 제조사들은 단순한 버튼만으로 동작시킬 수 있게 편리한 인터페이스(퍼사드 패턴)를 제공한 것이다!

  • 사용방법 :
    여러 클래스들의 기능들을 묶은 Facade클래스를 만들고
    Facade클래스에 접근한다!

    ex1)
    구조 :
  1. SubSystemOne 클래스
  2. SubSystemTwo 클래스
  3. SubSystemThree 클래스
  4. SubSystemFour 클래스
  5. Facade 클래스

    결론 : Facade 클래스를 이용하면 외부 코드가 라이브러리의 안쪽 코드에 의존하는 빈도를 감소시킨다! 즉, 외부로부터 Facade 클래스를 이용하여 접근하기 때문에 클래스들간에 복잡하게 얽힐 일도 줄고 접근도 간단해진다.
profile
Always, Continually, In all circumstance

0개의 댓글