복합체 디자인패턴
- 부분과 전체의 계층을 표현하기 위해 객체들을 모아 트리 구조로 구성합니다. 사용자로 하여금 개별 객체와 복합객체를 모두 동일하게 다룰 수 있도록 하는 패턴.
클래스 설명
플래시에서 UI를 만들 때 무비클립이 무비클립을 포함하는 관계를 많이 봐왔을 것이다. 구조관점에서 봤을 땐 상위객체안에 하위객체가 있다. 즉 자식과 부모의 관계가 된다. 그러나 객체자체의 성질을 보면 부모와 자식과의 관계가 동질적임을 알 수 있다. 바로 이런 자신과 똑같은 성격의 객체를 포함하는 관계를 복합체패턴이라고 한다. 플래시에서 대표적인 클래스가 DisplayObjectContainer 클래스가 있다.
클래스 사용방법
var sampleParent: Sprite = new Sprite(); //개별객체
var sampleChild: Sprite = new Sprite(); //개별객체
var sampleGrandson: Sprite = new Sprite(); //개별객체
sampleChild .addChild( sampleGrandson ); //복합객체 자식을 하나포함
sampleParent.addChild( sampleChild ); //복합객체 자식을 두개포함
클래스 구성
개별 또는 복합 클래스들는 DisplayObjectContainer 클래스를 상속 받고있으므로 공통적인 메서드를 사용할 수 있다.
package
{
public class Sprite extends DisplayObjectContainer
{
public function Sprite ()
{
//생략
}
//이하 코드 생략
}
}
'디자인 패턴' 카테고리의 다른 글
디자인패턴 : Singleton (0) | 2011.08.03 |
---|---|
디자인패턴 : Command (0) | 2011.08.03 |
디자인패턴 : Iterator (0) | 2011.08.03 |
디자인패턴 : State (0) | 2011.08.03 |
디자인패턴 : Template Method (0) | 2011.08.03 |