퍼사드 패턴
- 구조 관련 디자인 패턴.
- 복잡한 서드 시스템 의존성을 최소화 하는 방법.
- 클라이언트가 사용해야 하는 복잡한 서브 시스템 의존성을 간단한 인터페이스로 추상화할 수 있다.
퍼사드로 내부 디테일한 로직을 숨기고 있다.
느슨하게 결합한 구조를 지향하는 패턴이다.
패턴 적용하기
클라이언트가 갖고 있는 의존성을 퍼사드로 옮기는 것 뿐인 조삼모사 구조가 아닌가?
위와 같은 의문을 갖을 수 있다.
이메일을 보내는 작업을 여러 곳에서 할 경우 이러한 패턴의 효과가 있다.
클라이언트가 여러 곳일 때 이메일 세팅을 바꿀 때 변경해야할 코드가 엄청 많을 것이다.
이러한 것을 한곳으로 모아놓는다는 것만 해도 의미가 있다.
퍼사드 패턴의 장점과 단점
장점
1. 서브 시스템에 대한 의존성을 한곳으로 모을 수 있다.
2. 추상화를 시키면 API에 대한 깊이 있는 학습없이 기능을 사용할 수 있게 한다
단점
Facade 클래스가 서브 시스템에 대한 모든 의존성을 가지게 된다.
https://refactoring.guru/ko/design-patterns/facade
'프로그래밍 강의 메모 > 코딩으로 학습하는 GoF의 디자인 패턴_백기선' 카테고리의 다른 글
구조 관련 디자인 패턴 > 프록시 패턴(Proxy Pattern) (0) | 2022.05.26 |
---|---|
구조 관련 디자인 패턴 > 플라이웨이트 패턴(Flyweight Pattern) (0) | 2022.05.26 |
구조 관련 디자인 패턴 > 데코레이터 패턴(Decorator Pattern) (0) | 2022.05.25 |
구조 관련 디자인 패턴 > 컴포짓 패턴(Composite Pattern) (0) | 2022.05.25 |
구조 관련 디자인 패턴 > 브릿지 패턴(Bridge Pattern) (0) | 2022.05.25 |