훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com
Composite Pattern
1. 종류
structural pattern의 한 종류이다.
2. 사용 의도
- 객체를 부분-전체 계층 구조로 나타낼 때
- 클라이언트는 leaf와 composite의 차이를 무시하고 component만 바라본 채 사용 가능하다.
- composite와 recursive를 통한 타입의 일관적인(uniformly) 처리를 위해 사용한다.
3. 장점
- 상속한 모든 type을 일관적으로 처리할 수 있다.
4. 구조도
출처 : 학부 수업
여기서 주의해야 할 것은, 형광펜 친 부분인, composite객체의 doOperation부분은 반드시 고정되어야 합니다.
왜냐하면 composite는 자신 하위에 또 다른 composite나 leaf를 갖기 때문입니다.
5. 실제 객체 구조도
클라이언트는 최상위 composite만을 바라보고 모든 하위 객체들을 사용 가능합니다.
6. 구성 요소
Client - Component의 사용 주체
Component - 객체의 일관적 처리를 위한 Interface
leaf - component를 구현한 객체
composite - component를 구현한 객체이나, 스스로 leaf를 갖는다. 즉 component와 같은 역할을 한다.
예제
아래 블로그에서 너무 좋은 예제를 만들어주어서, 따로 예제는 만들지 않았습니다.
꼭 참고하시길
컴포지트 패턴(Composite Pattern) :: 마이구미
이 글은 디자인 패턴 중 컴포지트 패턴(Composite Pattern) 을 다룬다. 위키피디아의 내용을 기반으로 정리할 예정이다. 위키 - https://en.wikipedia.org/wiki/Composite_pattern 글의 주제를 다루기에 앞서, 글..
mygumi.tistory.com
Composite Pattern에 대해서 알아보았습니다.
'소프트웨어 공학' 카테고리의 다른 글
(디자인 패턴) Facade Pattern (0) | 2021.04.16 |
---|---|
(디자인 패턴) Adaptor 패턴 (0) | 2021.04.16 |
(디자인 패턴) Factory Method Pattern (0) | 2021.04.16 |
디자인 패턴 기본 (0) | 2021.04.16 |
(UML) Activity Diagram & State Machine Diagram (0) | 2021.04.09 |