Notes: [[Design Pattern/Notes/structural/Composite|Composite]]
Clipping: [[Clippings/Composite|Composite]]
We will use the same example used in the [[Kunkun/Design Patterns/Command|Command]] design pattern.
![[Kunkun/Design Patterns/Command|Command]]
`Markdown`, `List.List`, `List.ItemDetail`, `List.ItemDetailMetadata` all implements `IComponent`.
- `List.List` has `items`, `sections`, `details` field that can contain other components.
- `List.ItemDetail` has a `children` field that can contain other components
They are the containers/composite components.
`Markdown` and `List.Item` are the leaf components.
Together they form a component tree, and can be rendered.