컴포짓 패턴
컴포짓 패턴이란?⌗
개별 객체와 복합 객체를 동일하게 다룰 수 있도록 하는 패턴
여러 객체들로 구성된 복합 객체와 단일 객체를 클라이언트에서 구별 없이 다루게 해주는 패턴
구조⌗
Component
모든 클래스에 해당하는 공통의 행동을 정의하고 구현.Composite
자식을 가지는 클래스를 구현함. 자식과 관련된 연산을 포함함.Leaf
구성 요소의 기본이 되는 객체를 정의함.
장점⌗
- 단일 객체와 복합 객체를 구별하지 않고 동일하게 생각하여, 같은 객체군으로 묶어서 관리할 때 편리
단점⌗
- 복합객체 내 구성 요소의 깊이 만큼, 코드 단위의 디버깅이 힘들어진다.
참고⌗
- Head First Design Patterns
- 마이구미의 Hello World :: 컴포지트 패턴
- 예제 소스