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