Les design pattern permettent d'apporter une solution éprouvée, efficace et réutilisable et forcent les concepteurs à proposer une solution modulaire.
Ils permettent un gain de temps considérable. Par exemple, il n'est pas nécessaire de
gaspiller son énergie à savoir si telle ou telle solution est la meilleure alors que le
problème a déjà été résolu.
Il en résulte une meilleure compréhension du design complet du problème, rendant
les discussions entre concepteurs plus aisées.
Il est cependant vrai que tout n'est pas facile pour autant : un pattern de son choix ne peut en effet être implanté aveuglément dans son design. Les patterns sont pour la plupart volontairement abstraits, donc très peu formalisés, ce qui leur permet par ailleurs d'être au maximum ouverts à tous les types de problèmes.
Un effort supplémentaire est donc nécessaire pour intégrer au mieux notre pattern au problème rencontré. Ce qui suppose une très bonne connaissance de ce qui est utilisé.
Les problèmes rencontrés sont très hétéroclites, au même titre que les design pattern.
Ils peuvent être très formalisables, alors que d'autres le sont beaucoup moins.
Inversement, des formalismes sont adaptés à des types de pattern correspondants.
[...] Ils permettent un gain de temps considérable ; Par exemple, il n'est pas nécessaire de gaspiller son énergie à savoir si telle ou telle solution est la meilleure alors que le problème a déjà été résolu. Il en résulte une meilleure compréhension du design complet du problème, rendant les discussions entre concepteurs plus aisées. Inconvénients des design patterns Il est cependant vrai que tout n'est pas facile pour autant : un pattern de son choix ne peut en effet être implanté aveuglément dans son design. [...]
[...] Problème : on doit différencier pour chaque stratégie explosion des classes Introduction aux Patterns LE Pattern Strategie (suite) Diagramme : Introduction aux Patterns LE Pattern Strategie (suite) Avantages : Souplesse d'ajout : De type de stratégies D' élément d'un type de stratégie De destruction et remodelage d'un type de stratégie Un Couplage faible Introduction aux Patterns LE Pattern Strategie (exemple) Introduction aux Patterns Les GRASP Patterns GRASP (General Responsibility Assignement Software Patterns) Introduction aux Patterns Les Les GRASP Patterns : EXPERT Introduction aux Patterns Les GRASP Patterns : EXPERT (Exemple) Introduction aux Patterns Les GRASP Patterns : EXPERT (Exemple) Introduction aux Patterns Les GRASP Patterns : EXPERT (suite) Introduction aux Patterns Les GRASP Patterns : Créateur (suite) Introduction aux Patterns Les GRASP Patterns : Créateur (Exemple) Introduction aux Patterns Les GRASP Patterns : Faible Couplage Introduction aux Patterns Les GRASP Patterns : Faible Couplage Introduction aux Patterns Les GRASP Patterns : Forte Cohésion Introduction aux Patterns Les GRASP Patterns : ! [...]
[...] Comment utiliser un design pattern Introduction aux Patterns Appréhender et bien comprendre le fonctionnement du design pattern Étudier la structure, les participants et les collaborations du pattern. Instancier le pattern avec les classes applicatives concernéesSubstituer les noms de classes aux rôles, substituer les noms de méthodes ou d'attributs génériques Implémenter les opérations génériques Reprendre les canevas de code ou de pseudo-code et les adapter à l'application Introduction aux Patterns Rôle des Patterns L'utilisation de patterns répond principalement à trois grandes préoccupations : Garantir à une Conception, un bon niveau de conformité à la philosophie objet Faciliter le mapping vers les technologies cible Permettre la connexion à un framework technique Part du constat de la mauvaise utilisation de l'objet sur les projets Encapsulation Héritage Polymorphisme Réhabiliter les principes de délégation et de composition qui avaient été négligés au profit de l'héritage et du polymorphisme. [...]
[...] Inversement, des formalismes sont adaptés à des types de pattern correspondants. Introduction aux Patterns Description d'un Pattern Nom Objectif (une phrase) Motivation (scénario qui illustre le problème traité) Applicabilité (conditions et contexte d'application) Structure (représentation graphique des classes) Participants (description des rôles) Collaborations (description de la dynamique des classes) Implémentation (problème concernant le codage) Exemple de code Utilisations connues (sur d'autres projets) Patterns proches (liens avec d'autres patterns,différences) Introduction aux Patterns Pourquoi utiliser les Design Patterns Sur une application l'objectif principal est la réutilisation interne sur le projet et l'homogénéité des solutions adoptées . [...]
[...] Les patterns sont pour la plupart volontairement abstraits, donc très peu formalisés, ce qui leur permet par ailleurs d'être au maximum ouverts à tous les types de problèmes. Un effort supplémentaire est donc nécessaire pour intégrer au mieux notre pattern au problème rencontré. Ce qui suppose une très bonne connaissance de ce qui est utilisé. Les problèmes rencontrés sont très hétéroclites, au même titre que les design pattern. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture