본문 바로가기
정리/디자인패턴

디자인패턴 - Composite(복합) 패턴

by 난파선 2017. 1. 25.

Composite(복합) 패턴

 재귀적 구조(트리구조)를 만들기 위한 패턴
 기본 객체들을 모아 복합 객체를 만드는 패턴
 기본 객체(Leaf)와 기본 객체로 구성된 구성 객체(Composite)를 동일 한 형태로 객체를 사용하고 싶을 때 사용한다.

다양한 접근방법

1. 하나의 인터페이스를 상속하는 객체를 만들고 클라이언트에서 해당 객체들을 추가해서 사용한다.

기본 객체들의 조합만을 사용할 수 있다. 복합 객체를 재사용할 수 없다. 예) 레고 부분들이 조합되어 집을 만들 수 있다. 하지만 그 집을 부분으로 다시 사용을 힘들 다. 적사과, 백사과, 녹사과가 모여 고장난 애플 노트북을 만들 수 있지만 고장난 애플 노트북이 모여 정상 애플 노트북을 만들 수는 없다.


2. Composite 패턴 사용

 기본 객체를 조합한 복합객체를 추가해 새로운 복합객체를 만들 수 있다.
 새로운 클래스 추가가 쉽다. 하지만 설계를 일반화 시킨다. 만약 예외적인 클래스가 있다면 실행시간에 일일히 해당 클래스의 예외적인 상황을 검사해야 한다.





'정리 > 디자인패턴' 카테고리의 다른 글

디자인 패턴 - 전략패턴(Strategy)  (0) 2017.01.13

댓글