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

omniAI·2021년 12월 14일
0

Design-Pattern

목록 보기
8/11

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
킵러닝

0개의 댓글