Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Design Patterns en PHP
  3. Introduction aux design patterns de comportement
Extrait - Design Patterns en PHP Les 23 modèles de conception : descriptions et solutions illustrées en UML2 et PHP (2e édition)
Extraits du livre
Design Patterns en PHP Les 23 modèles de conception : descriptions et solutions illustrées en UML2 et PHP (2e édition)
2 avis
Revenir à la page d'achat du livre

Introduction aux design 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 design patterns de structuration apportent des solutions aux problèmes de structuration des données et des objets.

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

Ces design 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 implémenté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 design pattern Template Method comme l’illustre la figure 17.1.

La répartition des traitements par héritage illustrée par le design pattern Template Method

Figure 17.1 - La répartition des traitements par héritage illustrée par le design 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 design pattern Strategy illustre ce mécanisme à la figure 17.2. La méthode demande de la classe Entite invoque pour la réalisation de son traitement la méthode calcule exposée par l’interface Strategie. Il convient de noter que cette dernière peut avoir plusieurs implantations.

images/figure17-2.png

Figure 17.2 - La distribution...