1.1 L'ajout ou la suppression d'un implémenteur concret n'implique pas de modification de code
1.2 L'ajout ou la suppression d'une abstraction fine ne nécessite pas de modification de code
2.1 Nombre minimal d'implémenteurs concrets
2.2 Factorisation maximale du lien entre abstraction et implémenteurDans cette solution, il y a une véritable séparation entre le style des fenêtres et leur contenu. Il est possible d'ajouter un nouveau style ou un nouveau type sans aucune modification de code.
Probablement le pire case avec l'abstraction sous l'implémentation simple