[디자인패턴] 컴포짓패턴(Composite pattern)
2016. 11. 19. 16:17ㆍ프로그래밍/디자인패턴
- 목차
컴포짓패턴(Composite pattern)
개별 객체와 복합 객체를 코드 상에서 별도로 구분하지 않고 추상화한 인터페이스를 구성하고 동일하게 다룰 수 있도록 한 패턴
작성형식
내용
Component
- 컴포넌트 자신을 포함한 모든 컴포넌트에 대한 추상화이다.
- 구성(composition)에 있는 객체들의 인터페이스를 정의한다.
- (선택적으로) component의 부모에 대한 접근하기 위한 재귀적인 구조(recursive structure)의 인터페이스를 정의하고, 적절하다면 구현한다.
Leaf
- 구성(composition)에 있는 leaf 객체들을 표현한다.
- component의 모든 메서드를 구현한다.
Composite
- composite 컴포넌트를 표현한다.(자식들을 가지는 컴포넌트)
- 자식들을 다루기 위한 메서드를 구현한다.
- 모든 component 메서드를 구현한다.(일반적으로 메서드 기능을 자식에게 위임해서 구현한다. 여기에서 위임이라함은 자식의 기능을 호출한다고 보면 될 것 같네요.)
추가 예제
http://jusungpark.tistory.com/26
참조
https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8F%AC%EC%A7%80%ED%8A%B8_%ED%8C%A8%ED%84%B4
http://smallorbit.tistory.com/entry/Composite-Pattern%EC%BB%B4%ED%8F%AC%EC%A7%80%ED%8A%B8-%ED%8C%A8%ED%84%B4'프로그래밍 > 디자인패턴' 카테고리의 다른 글
[디자인패턴] 방문자패턴(visitor pattern) (0) | 2016.11.23 |
---|---|
[디자인패턴] 데코레이터 패턴(Decorator pattern) (0) | 2016.11.21 |
[디자인패턴] 브릿지패턴(Bridge pattern) (0) | 2016.11.19 |
[디자인패턴] 추상팩토리패턴(Abstract Factory pattern) (0) | 2016.11.17 |
[디자인패턴] 빌더패턴(Builder pattern) (0) | 2016.11.17 |