본문 바로가기
디자인패턴

디자인패턴 - 퍼사드패턴

by KBS 2024. 2. 17.
728x90

퍼사드라는 단어는 프랑스에서 유래가 되었다고 합니다. 어떤 건물 또는 건축물의 겉면이라는 뜻입니다. 건물의 외벽에서 보면 내부 구조는 보이지 않는다는 뜻이라고 합니다.

단어에서 비롯된 이름처럼 패턴의 정의는 하나의 단순화된 인터페이스를 통해서 시스템안의 내포되어있는 기능들이나 서브클래스에 쉽게 접근할 수 있도록 도와주는 패턴입니다.

크게 2가지의 특징이 있습니다.

  1. 갼략화된 인터페이스
  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

댓글