Composite(복합) 패턴
재귀적 구조(트리구조)를 만들기 위한 패턴
기본 객체들을 모아 복합 객체를 만드는 패턴
기본 객체(Leaf)와 기본 객체로 구성된 구성 객체(Composite)를 동일 한 형태로 객체를 사용하고 싶을 때 사용한다.
다양한 접근방법
1. 하나의 인터페이스를 상속하는 객체를 만들고 클라이언트에서 해당 객체들을 추가해서 사용한다.
기본 객체들의 조합만을 사용할 수 있다. 복합 객체를 재사용할 수 없다. 예) 레고 부분들이 조합되어 집을 만들 수 있다. 하지만 그 집을 부분으로 다시 사용을 힘들 다. 적사과, 백사과, 녹사과가 모여 고장난 애플 노트북을 만들 수 있지만 고장난 애플 노트북이 모여 정상 애플 노트북을 만들 수는 없다.
2. Composite 패턴 사용
기본 객체를 조합한 복합객체를 추가해 새로운 복합객체를 만들 수 있다.
새로운 클래스 추가가 쉽다. 하지만 설계를 일반화 시킨다. 만약 예외적인 클래스가 있다면 실행시간에 일일히 해당 클래스의 예외적인 상황을 검사해야 한다.
'정리 > 디자인패턴' 카테고리의 다른 글
디자인 패턴 - 전략패턴(Strategy) (0) | 2017.01.13 |
---|
댓글