Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Design Patterns en Java
  3. Introduction aux patterns de comportement
Extrait - Design Patterns en Java Descriptions et solutions illustrées en UML 2 et Java (5e édition) - Les 23 modèles de conception
Extraits du livre
Design Patterns en Java Descriptions et solutions illustrées en UML 2 et Java (5e édition) - Les 23 modèles de conception Revenir à la page d'achat du livre

Introduction aux patterns de comportement

Présentation

Le concepteur d’un système d’objets est souvent confronté au problème de la découverte des objets. Celle-ci peut être réalisée à partir des deux aspects suivants :

  • La structuration des données.

  • La distribution des traitements et des algorithmes.

Les patterns de structuration apportent des solutions aux problèmes de structuration des données et des objets.

L’objectif des patterns de comportement est de fournir des solutions pour distribuer les traitements et les algorithmes entre les objets.

Ces patterns organisent les objets ainsi que leurs interactions en spécifiant les flux de contrôle et de traitement au sein d’un système d’objets.

Distribution par héritage ou par délégation

Une première approche pour distribuer un traitement est de le répartir dans les sous-classes. Cette répartition se fait par l’utilisation dans la classe de méthodes abstraites qui sont implantées dans les sous-classes. Comme une classe peut posséder plusieurs sous-classes, cette approche autorise la possibilité d’obtenir des variantes des parties décrites dans les sous-classes. Cette possibilité est mise en œuvre par le pattern Template Method comme l’illustre la figure 4-1.1.

images/fig171.PNG

Figure 4-1.1 - La répartition des traitements par héritage illustrée par le pattern Template Method

Une seconde possibilité de répartition est mise en œuvre par la distribution des traitements dans des objets dont les classes sont indépendantes. Dans cette approche, un ensemble d’objets coopérant entre eux concourent à la réalisation d’un traitement ou d’un algorithme. Le pattern Strategy illustre ce mécanisme à la figure 4-1.2. La méthode demande de la classe Entité invoque pour la réalisation de son traitement la méthode calcule spécifiée par l’interface Stratégie. Il convient de noter que cette dernière peut avoir plusieurs implantations.

images/figure17-2.png

Figure 4-1.2 - La distribution des traitements...