Composite
Descrição:
Compor objetos em estruturas de árvore para representar hierarquias parciais. O Composite permite aos clientes tratar objetos individuais e composições de objetos uniformemente.
Diagrama de Classes genérico do padrão:

Exemplo:
O exemplo do livro cria um menu, onde o cliente pode fazer os pedidos. O código mostra um menu, onde existe o nome e descrição para cada produto, onde o MenuComponent será a ideia para cada componente, e o Menu será a implementação e terá a ideia de adicionar e remover folhas na árvore, que é feita pelos métodos add() e remove(). Como exemplo, foi criado a classe Diner, para adicionar ao menu.
Diagrama de Classes do exemplo:

