Design Architecture/Design Pattern

16강 Composite

lipnus 2021. 8. 29. 19:39
반응형

타입이 달라도 동일한 인터페이스인 것처럼

 

????
데코레이터랑 비슷

Client는 MenuItem이나 Menu나 동일하게 접근할 수 있음

 

 

일반화

 

굳이 타입 판단하지 않아도 됨
임의의 트리 형태의 자료구조를 쉽게 표현할 수 있다

 

전체 트리를 Iterator?

모든 노드가 자식의 Iterator를 돌려주도록 만듦. 없으며 NullIterator 반환. -> 일관성

복잡..
hasNext는 false. 이런걸로 모든 노드가 Iterator를 제공하게 함

 

부모에 대한 레퍼런스는 상황에 따라..

왼: Component에서 Leaf에서 getChild같은거 Exception해야 함. 

오: 컴파일타임에 알아낼 수 있음. Leaf와 Composite를 동일한 인터페이스로는 간주할 수 없음.

 

둘다 장단점이 있음

 

재귀적인게 Decorator랑 비슷.

반응형

'Design Architecture > Design Pattern' 카테고리의 다른 글

18강 MVC PATTERN  (0) 2021.08.30
17 Bridge  (0) 2021.08.29
15강 Adapter  (0) 2021.08.29
14강 Decorator  (0) 2021.08.29
13강 Singleton  (0) 2021.08.29