White Whale Studio

Facade Pattern (파사드 패턴) 본문

IT Engineering/객체지향&디자인 패턴

Facade Pattern (파사드 패턴)

glorymind 2016. 6. 17. 17:44
반응형

Facade Pattern


파사드, 퍼사드, 파사아드 등등 Facade 는 정면, 앞면, 표면을 뜻합니다.


은닉성을 표현한 패턴이라고도 하더군요.


개념상으로 은닉성과 의미를 같이하며 하위 메서드들을 숨기고 표면에 나서서 다른 요청 메서드들에게 기능을 제공한다고 보시면 되겠습니다.



위에서 보시는 클래스 다이어그램을 예시로 살펴보겠습니다.


주제는 다른 블로그에서 Facade 패턴을 설명하면서 예시를 든 내용인데 제가 이해하는 과정에서 설명을 더했습니다.

SmartManager는 그림상으로는 일반 클래스입니다만, 다이어그램을 그리기 위해서 표현한 것이고 실제로는 추상화합니다. (인터페이스)


우선 기본 데이터인 PictureItem이 있고

해당 객체에 직접 접근하는 PictureManager와 Compensator가 있습니다.


만약 요청 클래스A, B, C에서 PictureItem에 대해 Resize 작업을 하고 싶은 경우 직접 PictureManager에 접근하는 것이 아니라 

SmartManager (Facade 인터페이스)를 통해 접근하는 것입니다.


이를 통해 외부 클래스에서는 직접 하위 클래스에 접근하지 않아 은닉성이 지켜지게 됩니다.




반응형
Comments