Identifiant :
Mot de passe :

Patrons de conception

Développement du pont

Diagramme de classes :

Diagramme de classes

Points forts :

  1. 1. Extensibilité
    1. OK 1.1 L'ajout ou la suppression d'un implémenteur concret n'implique pas de modification de code
    2. KO 1.2 L'ajout ou la suppression d'une abstraction fine ne nécessite pas de modification de code
  2. 2. Découplage entre abstraction et implémenteur
    1. OK 2.1 Nombre minimal d'implémenteurs concrets
    2. KO 2.2 Factorisation maximale du lien entre abstraction et implémenteur

Contextualisations du patron abîmé sur différents problèmes

Problème 1 :

Enoncé du problème :
Modéliser un système permettant d'afficher des fenêtres à l'écran. Le style de ces fenêtres dépend de la plate-forme d'utilisation. Deux plates-formes sont considérées, XWindow et PresentationManager. Le code client doit pouvoir être écrit indépendamment et sans connaissance à priori de la future plate-forme d’exécution. Il est probable que le système évolue pour que l'on puisse en plus, spécialiser ces fenêtres en fenêtres applicatives et en fenêtres iconisées.
Solution optimale :

Diagramme de classes :

Diagramme de classes

In this solution, there is a real separation between the windows style and their content. It is possible to add a new style or a new type without modifying existing code.

Solution alternative :

Diagramme de classes :

Diagramme de classes

This solution has no extensibility and a lot of ConcreteImplementor

Les têtes de mule
Cédric BOUHOURS
Cédric BOUHOURS
Cédric BOUHOURS