본문 바로가기
개발 관련 정보/디자인패턴

5.facade 패턴

by MonoSoft 2023. 3. 21.
728x90
반응형

facade 패턴

 

facade는 '건물의 앞쪽 정면(전면)'이란 뜻이다. 

facade 패턴은 [그림 5-40]에서 적용 전과 후를 비교해보면 어떤 의미인지 

짐작할 수 있을 것이다. 몇 개의 클라이언트 클래스와 서브시스템의 클라이언트 사이에 

facade라는 객체를 세워놓음으로써 복잡한 관계를 정리(구조화)한 것이다.

 

즉 모든 관계가 전면에 세워진 facade 객체를 통해서만 이루어질 수 있게

단순한 인터페이스를 제공(단순한 창구 역할)하는 것이다. 

 

facade 패턴을 이용하면 서브시스템 내부에서 작동하고 있는 

많은 클래스들의 관계나 사용법을 의식하지 않고

facade에서 제공하는 단순화된 하나의 인터페이스만 사용하므로, 

클래스 간의 의존 관계가 줄어들고 복잡성 또한 낮아지는 효과를 볼 수 있다.

 

그림 5-40 facade 패턴

 

여기서 facade 객체는 클라이언트의 요청이 발생했을 때,

서브시스템 내의 특정한 객체에 요청을 전달하는 역할을 한다.

이 역할을 수행하려면 facade 객체는 서브시스템의 클래스들에

어떤 기능이 있는지(어떤 요청을 처리하는지) 알고 있어야 한다.

 

서브시스템의 클래스는 서브시스템의 기능을 구현한다.

즉 facade 객체로부터 할당된 작업을 실제로 처리한다.

그러나 facade 객체에 대해 어떤 정보도 가지고 있지 않다.

 

1.POI란?

 

구름 안에 있는놈

 

구름 안에 있는놈

 

728x90
반응형

'개발 관련 정보 > 디자인패턴' 카테고리의 다른 글

6-2.Instance 패턴  (0) 2023.03.24
6-1.Singleton 패턴  (0) 2023.03.22
4-2.Prototype 패턴  (0) 2023.03.17
4-1.RMI란  (1) 2023.03.16
3.객체지향 - 패턴 이해를 위한 객체지향 개념 - OOP  (0) 2023.03.14

댓글