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.