1 / 39

Patrons de Disseny

Patrons de Disseny. Alejandro Arangua Rovira Kenneth Alonso Muñoz. Í ndex. Introducció Patrons de Creació P atrons de Comportament Patrons Estructurals Patrons Arquitectònics. Introducció. Design Patterns: Elements of Reusable Object-Oriented Software (1994)

orde
Download Presentation

Patrons de Disseny

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Patrons de Disseny Alejandro Arangua Rovira Kenneth Alonso Muñoz

  2. Índex • Introducció • Patrons de Creació • Patrons de Comportament • Patrons Estructurals • Patrons Arquitectònics

  3. Introducció • Design Patterns: Elements of Reusable Object-Oriented Software(1994) • PatronsGof(Gang of four) • Erich Gamma • Richard Helm • Ralph Johnson • John Vlissides

  4. Patrons de Creació • Singleton • FactoryMethod • AbstractFactory • Builder(PDF) • Prototype

  5. CreationalpatternsSingleton • Motivació • Assegurar-nos que una classe té una sola instància. • Donar un punt d'accés global a un objecte. • Diagrama

  6. CreationalpatternsFactoryMethod • Motivació • Definir una interfície per crear objectes deixant a les subclasses que decideixin quin tipus crear. • Diagrama <-abstract

  7. CreationalpatternsFactoryMethod • Exemple: public Document CreateDocument(String type){ if (type.isEqual("html")) return new HtmlDocument(); if (type.isEqual("proprietary")) return new MyDocument(); if (type.isEqual("pdf")) return new PdfDocument (); }

  8. CreationalpatternsAbstractFactory • Motivació • Crear una família d’objectes sense especificar el tipus. • Diagrama

  9. CreationalpatternsAbstractFactory • Exemple:

  10. CreationalpatternsPrototype • Motivació • Especificar els tipus d’objectes a crear a traves d’un prototipus. • Diagrama <-interface

  11. Patrons de Comportament • Chain of responsability • Command • Interpreter • Iterator • Mediator • Memento(PDF) • Observer • Strategy • TemplateMethod • Visitor • State

  12. BehavioralpatternsChain of Responsability • Motivació • Evitar lligar la classe que envia una petició a classes que les atenen. • Diagrama <-interface

  13. BehavioralpatternsCommand • Motivació • Encapsular una petició en un objecte. • Diagrama <-interface

  14. BehavioralpatternsInterpreter • Motivació • Donat un llenguatge, definir una representació per la seva gramàtica amb un interpretador. Obtenir tokens i desar-los per el seu posterior ús. • Diagrama

  15. BehavioralpatternsIterator • Motivació • Accedir als elements de un agregat de manera transparent a la seva representació. • Diagrama <-interface

  16. BehavioralpatternsMediator • Motivació • Encapsular com una sèrie d’objectes interactuen. • Diagrama <-interface

  17. BehavioralpatternsObserver • Motivació • Com definir dependències 1 a * de manera que quan un canviï, els altres objectes siguin avisats. • Diagrama abs/int-> <-abs/int

  18. BehavioralpatternsObserver • Exemple:

  19. BehavioralpatternsStrategy • Motivació • Fer intercanviables una família d’algorismes de manera que en temps d’execució variï el seu comportament. • Diagrama

  20. BehavioralpatternsStrategy • Exemple:

  21. BehavioralpatternsTemplateMethod • Motivació • Definir l’esquelet d’algorismes delegant altres passos a subclasses • Diagrama

  22. BehavioralpatternsVisitor • Motivació • Definir noves operacions sense modificar les classes implicades. • Diagrama <-abs/int

  23. BehavioralpatternsVisitor • Exemple

  24. BehavioralpatternsState • Motivació • Canvia el comportament d’un objecte quan canvia el seu estat. • Diagrama <-abstract

  25. Patrons Estructurals • Adapter • Bridge • Compoite • Decorator • Flyweight (PDF) • Proxy • Facade

  26. StructuralpatternsAdapter • Motivació • Convertir la interfície d’una classe en un altre que espera el client. • Diagrama <-interface <-interface

  27. StructuralpatternsAdapter • Exemple:

  28. StructuralpatternsBridge • Motivació • Desacoblar l’ús d’una classe de la seva implementació per tal de que puguin variar independentment. • Diagrama

  29. StructuralpatternsBridge • Exemple:

  30. StructuralpatternsComposite • Motivació • Unir objectes en forma de arbre per tal que es tinguin jerarquies. • Diagrama

  31. StructuralpatternsDecorator • Motivació • Afegir més responsabilitats dinàmicament a un objecte. • Diagrama

  32. StructuralpatternsDecorator • Exemple:

  33. StructuralpatternsProxy • Motivació • Proveir una classe que controli les referencies a un objecte. • Diagrama

  34. StructuralpatternsFacade • Motivació • Proveir una interfície simplificada a un codi més extens. • Abstraure les classes dels objectes que en fan us. • Diagrama

  35. Patrons Arquitectònics • Tipus: • Data integration • Dissenys per combinar dades de diferents fonts en un visor que les unifiqui. • Data Architecture • Disseny de les dades per definir i usar un estat objectiu i la necessitat de desar aquests estats. • Business Intelligence • Disseny de tècniques per tal de identificar, extraure i classificar dades per a posteriors anàlisis de negoci. • Master Data Management • Disseny de eines i processos per definir i gestionar les dades de l’administrador, es a dir, no transaccionals de la organització. • Data modeling • Disseny de models de dades(anàlisi i requeriments) per processos de negoci.

  36. ArchitecturalpatternsModel-View-Controller • Motivació • Independitzar el màxim possible les tres capes de Dades, Interfície i controlador. • Avançar en paral·lel les tres capes tant en la programació com la fase de proves. • Diagrama

  37. Bibliografia • PatternsforParallelProgramming • Timothy G. Mattson (Author) • Beverly A. Sanders (Author) • BernaL. Massingill (Author)

  38. Bibliografia • http://www.oodesign.com/ • http://en.wikipedia.org/wiki/Software_design_pattern • http://en.wikipedia.org/wiki/State_pattern • http://en.wikipedia.org/wiki/Facade_pattern

  39. Preguntes?

More Related