728x90
퍼사드라는 단어는 프랑스에서 유래가 되었다고 합니다. 어떤 건물 또는 건축물의 겉면이라는 뜻입니다. 건물의 외벽에서 보면 내부 구조는 보이지 않는다는 뜻이라고 합니다.
단어에서 비롯된 이름처럼 패턴의 정의는 하나의 단순화된 인터페이스를 통해서 시스템안의 내포되어있는 기능들이나 서브클래스에 쉽게 접근할 수 있도록 도와주는 패턴입니다.
크게 2가지의 특징이 있습니다.
- 갼략화된 인터페이스
- 직접적인 접근 제한
코드
class Kitchen {
cookBurger() {
console.log('cooking burger');
}
cookSide() {
console.log('cooking side dishes');
}
prepareDrinks() {
console.log('preparing drinks');
}
}
class FoodService {
serve() {
console.log('Order ready, serving food now!');
}
}
class RestaurantFacade {
newOrder() {
const kitchen = new Kitchen();
kitchen.cookBurger();
kitchen.cookSide();
kitchen.prepareDrinks();
const foodService = new FoodService();
foodService.serve();
}
}
const facade = new RestaurantFacade();
facade.newOrder();
// cooking burger
// cooking side dishes
// preparing drinks
// Order ready, serving food now!
퍼사드 패턴은 매우 심플하고 쉽게 다수의 서브클래스 또는 인터페이스를 한 클래스 내에서 관리할 수 있게 도와줍니다. 그래서 나중에 같은 코드를 반복적으로 작성하는 것을 방지하고 한 클래스 내에서 중심적으로 서브클래스를 컨트롤하기 때문에 유지보수하기가 쉽고 코드 흐름도 한눈에 알아볼 수 있다는 장점이 있습니다.
728x90
'디자인패턴' 카테고리의 다른 글
디자인패턴 - 프록시 패턴 (0) | 2024.02.18 |
---|---|
디자인패턴 - 어댑터 패턴 (0) | 2024.02.18 |
디자인패턴 - 팩토리 메서드 패턴, 추상 팩토리 패턴 (0) | 2024.02.16 |
디자인패턴 - 싱글톤(Singleton) 패턴 (1) | 2024.02.15 |
디자인 패턴 (0) | 2024.02.15 |
댓글