Home
Analyse et Conception 12. Les Patrons GoF
Contents
1. Analyse et Conception 12 Les Patrons GoF A da gt Petko Valtchev Universit de Montr al Novembre 2003 2 Patrons GoF Les Pattrons selon GoF Gang of Four aka GoF E Gamma R Helm R Johnson amp J Vlissides 1995 Design Patterns Elements of Reusable Software Addison Wesley GoF ont introduit l id e de design pattern en g nie logiciel OO A pattern can only be a pattern if it can be shown to exist in many different and distinct items of software Mais l origine l id e appartient un architecte Christopher Alexander A pattern is a three part rule which expresses a relation between a certain context a problem and a solution A dae Petko Valtchev Universit de Montr al Novembre 2003 3 Patrons GoF Une R gle Tri Partie e La relation entre un probl me dans un certain contexte et une solution Le probl me d crit ce qui est demand par le logiciel c est dire la difficult qu on doit r soudre ou la qualit qu on doit assurer e Le contexte d crit l environnement dans lequel la solution est valide e La solution d crit les classes les donn es et les m thodes utilis es pour r soudre le probl me A da gt Petko Valtchev Universit de Montr al Novembre 2003 4 Patrons GoF GoF Mode d emploi e On reconnait le probl me un niveau lev i e on l
2. Objet les patrons d objet mettent l accent sur les relations et les int ractions entre objets A dae Petko Valtchev Universit de Montr al Novembre 2003 T Patrons GoF La famille GoF a Creationai Behavioral Factory Method EN ter class Interpreter Abstract Factory Adapter object Chain of Responsibility Builder Bridge Command Prototype Composite Iterator Singleton Decorator Mediator Flyweight Memento Facade Observer Proxy State Strategy Visitor Objectif refl te ce que le patron fait Port e le domaine d application ensemble d l ments A da gt Petko Valtchev Universit de Montr al Novembre 2003 8 Patrons GoF Observer e Probl me Avertissement effectif des objets int ress s Observateurs par les changements survenus dans l tat d un objet particulier Observ ou Sujet elntention D finit une relation 1 N entre l Observ et les Observateurs de sorte ce que les changements d tat soient signal s automatiquement aux Observateurs sans que l Observ ait besoin de les conna tre individuellement e Applicabilit une abstraction a deux aspects l un d pendant de l autre le changement dans un objet entra ne de changements dans d autres sans que l on sache combien d autres objets doivent tre chang s un objet devrait en avertir d autres sans pour autant faire des
3. Collaborations e ConcreteSubject e Avertit l ensemble des observateurs du l av nement d un changement dans son tat e ConcreteObserver e Peut envoyer de requ tes au ConcreteSubject pour conna tre les d tails de son nouvel tat da gt Petko Valtchev Universit de Montr al Novembre 2003 12 Patrons GoF Diagr de S quence subject observeri observer2 ConcreteSubject ConcreteObserver ConcreteObserver attach observer1 attach observer2 j notify update getState update getState A dae Petko Valtchev Universit de Montr al Novembre 2003 13 Patrons GoF Implantation Implantation e Identifier les participants e Ex de l application POST e SaleFrame ConcreteSubject e SystemController ConcreteObserver e Correspondance Subject Observer quel mod le eR f rences pendantes viter eEnregistrement explicite des modifications d int r t A da gt Petko Valtchev Universit de Montr al Novembre 2003 14 Patrons GoF Retomb es Modularit le Subject et les Observers peuvent voluer de fa on ind pendante Extensibilit le nombre d Observer n est pas limit a priori js Adaptabilit les Observers diff rents peuvent fournir de perspectives diff rentes
4. et compl mentaires sur le Subject Ge Mises jour inattendues les Observers ne se connaissent pas Ge Co t de la mise jour certains Observers peuvent avoir besoin d indices sur ce qui a chang A dae Petko Valtchev Universit de Montr al Novembre 2003 15 Patrons GoF Adapter eProbl me faire collaborer des classes dont les interfaces sont incompatibles eintention le patron Adapter convertit l interface d une classe en une autre interface que le client s attend retrouver Un objet adaptateur est ins r entre le client et la classe adapt e e Applicabilit la r utilisation d une classe existante est souhaitable mais l interface de cette classe ne correspond pas au besoins conception d une classe vou e la r utilisation qui est oblig e de collaborer avec des classes impr vues dont les interface sont incompatibles A dae Petko Valtchev Universit de Montr al Novembre 2003 16 Patrons GoF Diagramme de Classes Adaptee OOo specialOperation Adapter N adaptee specificOperation O request A dae Petko Valtchev Universit de Montr al Novembre 2003 17 Patrons GoF Participants eTarget e D finit l interface sp cifique au domaine que le client va utiliser e Client e Collabore avec les objets qui fournissent l interface Target eAdaptee e D finit sa propre interface d
5. hypoth ses sur la nature de ces autres objets lt gt Petko Valtchev Universit de Montr al Novembre 2003 9 Patrons GoF Diagramme de Classes Subject lt lt interface gt gt v Observer attach observer detach obs rver observers Lupda e LT for all o in observers o update sh observerState oncreteSubjec i i Subject geiState y ConcreteObserver subiectState subject Es E a update getState 0 A da gt Petko Valtchev Universit de Montr al Novembre 2003 10 Participants Patrons GoF e Subject e Conna t les observateurs travers une interface ignore leur identit exacte c est dire leur classe Fournit une interface pour l ajout et l enl vement d un observateur e Observer e Fournit une interface permettant les avertissements e ConcreteSubject e Poss de un tat ayant d int r t pour les objets de type ConcreteObserver e Envoie une notification aux observateurs lors d un changement d tat e ConcreteObserver Responsible de maintenir son propre tat en concordance avec l tat du ConcreteSubject Impl mente l interface Observer Maintient une r f rence vers l objet de ConcreteSubject optionnel A dae Petko Valtchev Universit de Montr al Novembre 2003 Patrons GoF
6. j existante e Sujet adaptation par Adapter e Adapter e Adapte l interface Adaptee vers l interface Target A lt b Petko Valtchev Universit de Montr al Novembre 2003 18 Patrons GoF Collaborations e Client e Communique avec Adapter en lui envoyant des messages qui invoquent des m thodes de son interface e Adapter e Renvoie les requ tes vers Adaptee tout en les traduisant au pr alable par des messages compr hensibles pour celui ci A da Petko Valtchev Universit de Montr al Novembre 2003 19 Patrons GoF Shape BoundingBox CreateManipulator LineShape BoundingBox Create Mani pulator A da Petko Valtchev Universit de Montr al Exemple Text View GetExtent text return text gt GetExtent CreateManipulator 0 return new Text Manipulator Novembre 2003 20 10
7. e voit du point de vue de l utilisateur et non du point de vue de sa localisation dans notre application e Ensuite on con oit la solution on d finit les classes attributs et m thodes qui repr sentent le comportement du patron e Enfin on impl mente la solution et on la teste e en utilisant les tests unitaires de m thodes et de classes on s assure que le composant qu on a cr est fonctionnel et r utilisable A da Petko Valtchev Universit de Montr al Novembre 2003 5 Patrons GoF Patrons GoF Aspect important des patrons pas cr s mais identifi s Les patrons existent en g nie logiciel comme ils existent dans la nature e Les livres sur les patrons de conception sont typiquement des catalogues des patrons existant e Les patrons de conception sont identifi s en cherchant des probl mes recurrents et leurs solutions e Souvent la longue exp rience est la seule voie vers la d couverte de patrons A da gt Petko Valtchev Universit de Montr al Novembre 2003 6 Patrons GoF Typologie des PC GoF e Au moins trois types de patrons GoF Cr ationnel li s la cr ation des objets Structurel li s la composition des objets Comportemental li s l int raction entre objets et ou classes e De plus de patrons GoF peuvent avoir une des deux port es Classe les patrons de classe mettent l accent sur les relations entre classes
Download Pdf Manuals
Related Search
Related Contents
Internet Managed Thermostat (IMT) Configuration Guide SoftBank 109SH 取扱説明書 Asrock AD425PV3 Phonix S9195TNS mobile phone case Acorn Guard® MMS/GPRS Most Cost-effective Katinkas 6002466 mobile phone case 3D Glasses User manual Topfield TF 4000 Satellite TV System User Manual ARROWS ON PHOTOS - USER MANUAL Note: Your web browser Rapid Eye Muli 3 Copyright © All rights reserved.
Failed to retrieve file