O critério estrutural reúne 7 padrões de projeto:
| Nome do Padrão | Sinopse |
|---|---|
| Adapter | Converte a interface de uma classe em outra interface esperada pelos clientes. Esse padrão permite que classes com interfaces incompatíveis consigam colaborar e se relacionar. |
| Bridge | Separa uma abstração de sua implementação de modo que as duas possam variar independentemente. |
| Composite | Compõem objetos em estrutura de árvore para representar hierarquias do tipo partes-todo. Esse padrão permite que os clientes tratem objetos individuais e composições de objetos de maneira uniforme. |
| Decorator | Atribui responsabilidades adicionais a um objeto dinamicamente. Esse padrão fornece uma alternativa flexível ao uso de subclasses para extensão de funcionalidades. |
| Façade | Fornece uma interface unificada para um conjunto de interfaces em um subsistema. Esse padrão define uma interface de nível mais alto que torna o subsistema mais simples de utilizar. |
| Flyweight | Utiliza-se de compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente. |
| Proxy | Fornece um objeto representante, ou um marcador de outro objeto, para controlar o acesso ao mesmo. Esse padrão é bem versátil, pois permite que os acessos sejam remotos, virtuais, protegidos e smarts (ponteiros simples). |