프로그래밍 기술/Escort GoF의 디자인 패턴 C#

[C#] 복합체 패턴(Composite Pattern) - 설계(Design)

언제나휴일 2016. 4. 26. 10:32
반응형

8. 복합체 패턴(Composite Pattern)


8. 3 디자인

 

 복합체 패턴에 대한 설명을 위해 트리와 경로, 카테고리 형식을 예로 들겠습니다.

 

 경로는 단일 개체이며 카테고리는 복합 개체입니다. 카테고리에는 경로 개체와 카테고리 개체를 자식 요소로 포함할 수 있습니다. 복합체 패턴을 이용하면 경로(단일 개체)  카테고리(복합 개체)를 같은 방법으로 사용할 수 있게 됩니다. 이를 위해 경로와 카테고리를 일반화하여 기반 형식으로 트리를 만들 것입니다.

 

 같은 방식으로 사용할 수 있게 하려고 경로 개체에서 할 수 있는 기능과 카테고리 개체로 할 수 있는 모든 기능을 트리에서 제공할 것입니다. 그리고 경로와 카테고리에서는 자신들이 제공해야 할 기능에 대해 재정의를 해 줍니다. 그리고 카테고리 개체는 복합 개체이므로 트리 형식의 개체를 소유할 수 있게 해 줍니다.

 

 개요에서도 말했듯이 복합체 패턴을 적용하면 단일 개체와 복합 개체를 같은 방법으로 사용할 수는 있지만 불필요한 기능이 노출되는 단점을 갖고 있다는 것을 잊지 말아야 할 것입니다.


복합체 패턴 패턴 예제 클래스 다이어그램

[그림 9] 복합체 패턴 패턴 예제 클래스 다이어그램

 

2016/04/26 - [프로그래밍 기술/Escort GoF의 디자인 패턴 C#] - [C#] 복합체 패턴(Composite Pattern) - 개요, 시나리오


2016/04/26 - [프로그래밍 기술/Escort GoF의 디자인 패턴 C#] - [C#] 복합체 패턴(Composite Pattern) - 구현


반응형