Informations sur les patterns à appliquer |
Cet exemple correspond à un ensemble de 8 patterns. La plupart d'entre eux ont des noms et des fonctions similaires à ceux des patterns acceptés dans le secteur.* Certains de ces patterns sont utilisés par d'autres patterns, appelés micro-patterns, qui offrent une meilleure granularité. Pattern d'implémentation(Deux paramètres, une dépendance de paramètre, un micro-pattern) Le pattern d'implémentation est un pattern primitif autonome qui n'exploite pas d'autres patterns dans sa mise en oeuvre. Il s'agit d'un pattern très simple qui garantit la présence d'une relation de mise en oeuvre UML entre un argument de mise en oeuvre et un argument d'interface. Pattern d'interface(Deux paramètres, une dépendance de paramètre, réutilisation d'un pattern) Le pattern d'interface est réutilisé par d'autres exemples de patterns et il réutilise lui-même un pattern pour sa mise en oeuvre. Le pattern d'implémentation est un pattern très primitif (également appelé micro-pattern) utilisé par le pattern d'interface pour s'assurer que l'argument de mise en oeuvre applique les arguments d'interface. Le pattern d'interface dispose de deux paramètres : le premier représente l'interface et le second l'implémentation. Il comporte un exemple de mappage de délégation de base qui utilise des usages de définition de pattern et des délégués de dépendance de pattern. Bien qu'il s'agisse d'un pattern de base, il est très fonctionnel et il est mentionné dans d'autres parties de la documentation sur les patterns. Ce pattern montre également le rôle de la combinaison de délégués de pattern et de code personnalisé dans l'implémentation de méthodes de mise à jour des dépendances d'un pattern. Le pattern d'implémentation est réutilisé pour garantir la relation de mise en oeuvre, puis le code de méthode de mise à jour personnalisé est utilisé pour s'assurer que la mise en oeuvre applique toutes les opérations définies dans les arguments d'interface. Pattern de liste de mots clés(Deux paramètres, une dépendance de paramètre, un micro-pattern) Le pattern de liste de mots clés est un pattern primitif autonome qui n'exploite pas d'autres patterns dans son implémentation. Il montre l'utilisation d'une chaîne littérale UML et d'un métatype UML d'abstraction comme type de paramètre. Ce pattern comprend également une fonctionnalité qui garantit que la sémantique d'un pattern en termes d'arguments n'est pas liée à un autre pattern et que les instances de pattern ne sont pas appliquées. Le pattern de liste de mots clés peut être légitimement instancié depuis l'explorateur de patterns mais il est préférable qu'il soit réutilisé par d'autres patterns via le mécanisme de délégation des patterns. Pattern d'association dirigée(Six paramètres, cinq dépendances de paramètres, un micro-pattern) Le pattern d'association dirigée est un autre pattern autonome primitif. C'est un micro-pattern utilisé par d'autres patterns offrant une meilleure granularité. Le pattern d'association dirigée possède deux principaux paramètres qui définissent le contexte d'une association dirigée. Ses cinq autres paramètres périphériques permettent de définir l'association en configurant le type d'association, le nom des rôles et les multiplicités. Ce pattern est réutilisé par l'exemple de pattern de délégation et correspond à un exemple de pattern qui inclut un grand nombre de types de paramètres moins courants. Des chaînes littérales, des entiers et des énumérations de patterns sont utilisés dans sa définition. Le code de pattern de cet exemple, utilisé pour gérer ces littéraux et énumérations, est très précieux pour les auteurs de patterns qui apprennent à créer des patterns ayant des types de paramètres similaires. Pattern de délégation(Deux paramètres, une dépendance de paramètre, réutilisation de trois patterns) Le pattern de délégation possède deux paramètres : le premier représente le délégueur et le second le délégué. Le délégueur délègue les opérations définies dans l'interface de délégation et mises en oeuvre par le délégueur dans une instance du type de délégation. Ce pattern montre le rôle des filtres de mappage de délégation dans la personnalisation des noms des mots clés liés aux instances de réutilisation du pattern de liste de mots clés. Cette personnalisation du nom n'est pas nécessaire pour fournir une implémentation utile du pattern de délégation mais elle a été ajoutée à cet exemple pour montrer le rôle des filtres de mappage de délégation. Pattern de stratégie(Trois paramètres, deux dépendances de paramètre, réutilisation de deux patterns) Le pattern de stratégie repose sur le pattern de stratégie couramment utilisé. Il réutilise la liste des mots clés et les exemples de patterns d'interface et contient un exemple de mappage de délégation de paramètre. Il possède trois paramètres : le premier représente l'interface stratégie, le deuxième la stratégie concrète et le troisième le contexte de la stratégie. Pour montrer la réutilisation du pattern de liste des mots clés, ce pattern garantit la présence du mot clé <<Strategy>> dans l'argument du paramètre d'interface de stratégie. Le pattern d'interface est réutilisé pour garantir l'implémentation de l'interface de stratégie par les arguments liés du paramètre de stratégie concrète. Pattern singleton(Aucun paramètre) Le pattern singleton repose sur le pattern singleton couramment utilisé. C'est un exemple de pattern sans paramètre. Il possède un paramètre implicite qui s'apparente à l'instance de pattern. Ce pattern représente les instances de pattern sous la forme de classes et non de collaborations, comme c'est généralement le cas. Une utilisation fonctionnelle de ce pattern consiste à le faire glisser de l'explorateur de patterns vers une classe qui doit correspondre à un singleton. Si vous faites glisser ce pattern vers la surface du diagramme (dans un package), vous créez une instance singleton et donc une nouvelle classe qui représente cette instance. Pattern de configuration d'abstraction(Cinq paramètres, cinq dépendances de paramètre, réutilisation d'un pattern) Le pattern de configuration d'abstraction repose sur le pattern correspondant couramment utilisé. Il réutilise le pattern d'interface et montre donc les délégués de dépendance dans la délégation de comportement au pattern d'interface. Il s'agit d'une implémentation dégénérée du pattern de configuration d'abstraction dans le sens où tous les produits concrets mettent en oeuvre toutes les interfaces de produit d'abstraction qui sont liées. Il montre l'utilisation des dépendances de paramètre pour conserver la sémantique d'un pattern lorsque d'autres arguments sont liés au pattern. A l'instar du pattern singleton qui utilise autre chose que des collaborations pour représenter les instances des patterns, celui-ci utilise des packages. Les instances de ce pattern sont des packages. * Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson and Vlissides (Addison-Wesley, 1995) copyright (c) 1995 by Addison-Wesley Publishing Company, Inc. All rights reserved. |