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.
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.
Figure 4-1.2 - La distribution...