퍼사드 패턴의 이해

퍼사드는 프랑스어로 ‘외관’을 의미한다. 건물을 밖에서 보면 외관만 보이지 내부가 어떻게 생겼는지는 전혀 알 방법이 없다. 이를 소프트웨어 공학적으로 코드에 녹이는 것이다.

퍼사드 패턴은 복잡한 서브 클래스들을 상위 수준의 인터페이스로 묶어 시스템화하는 패턴이다.

Unity에서는 퍼사드 패턴이 매우 자주 사용된다. 퍼사드 패턴이라는 이름을 몰랐을 뿐이지 이미 우리 모두가 너무나 당연하게 사용하고 있다.

퍼사드 패턴의 장점

복잡한 서브 클래스의 동작들을 숨긴다는 점을 생각해보자.

  1. 비교적 단순한 인터페이스를 제공한다.

    퍼사드 클래스는 복잡한 시스템과 상호작용을 할 수 있는 단순화된 인터페이스를 제공하기 때문에 클라이언트가 복잡한 시스템으로 인해 더러워질 필요가 없다.

  2. 코드의 리팩터링이 쉽다.

    클라이언트는 퍼사드 클래스의 인터페이스만을 사용하기 때문에 퍼사드 뒤에 숨겨진 복잡한 코드의 리팩터링을 하는 동안에 클라이언트 코드는 변할 필요가 없다.

퍼사드 패턴의 단점

퍼사드는 이해하기 쉬우며 강력하다. 여기서 오는 Unity의 조합이 문제다.