Patrons structurels
Les patrons structurels vous guident pour assembler des objets et des classes en de plus grandes structures tout en gardant celles-ci flexibles et efficaces.
![Adaptateur](/images/patterns/cards/adapter-mini.png?id=b2ee4f681fb589be5a0685b94692aebb)
Permet de faire collaborer des objets ayant des interfaces normalement incompatibles.
![Pont](/images/patterns/cards/bridge-mini.png?id=b389101d8ee8e23ffa1b534c704d0774)
Permet de séparer une grosse classe ou un ensemble de classes connexes en deux hiérarchies — abstraction et implémentation — qui peuvent évoluer indépendamment l’une de l’autre.
![Composite](/images/patterns/cards/composite-mini.png?id=a369d98d18b417f255d04568fd0131b8)
Permet d'agencer les objets dans des arborescences afin de pouvoir traiter celles-ci comme des objets individuels.
![Décorateur](/images/patterns/cards/decorator-mini.png?id=d30458908e315af195cb183bc52dbef9)
Permet d’affecter dynamiquement de nouveaux comportements à des objets en les plaçant dans des emballeurs qui implémentent ces comportements.
![Façade](/images/patterns/cards/facade-mini.png?id=71ad6fa98b168c11cb3a1a9517dedf78)
Procure une interface qui offre un accès simplifié à une librairie, un framework ou à n’importe quel ensemble complexe de classes.
![Poids mouche](/images/patterns/cards/flyweight-mini.png?id=422ca8d2f90614dce810a8812c626698)
Permet de stocker plus d’objets dans la RAM en partageant les états similaires entre de multiples objets, plutôt que de stocker les données dans chaque objet.
![Procuration](/images/patterns/cards/proxy-mini.png?id=25890b11e7dc5af29625ccd0678b63a8)
Permet de fournir un substitut d’un objet. Une procuration donne le contrôle sur l’objet original, vous permettant d’effectuer des manipulations avant ou après que la demande ne lui parvienne.