Baixe o app para aproveitar ainda mais
Prévia do material em texto
SI720 | Diseño y Patrones de Software PREGRADO SOFTWARE DESIGN PATTERNS AGENDA CONCEPT EVOLUTION GOF DESIGN PATTERNS ¿Qué entiendes por pattern (patrón)? Podría definirse pattern (patrón) como aquella serie de variables y constantes identificables dentro de un conjunto mayor de datos. Pattern ¿Qué es un pattern language? Pattern Language A Pattern Language: Towns, Buildings, Construction Christopher Alexander, 1977 “A method of describing good design practices within a field of expertise” Pattern Language AGENDA CONCEPT EVOLUTION GOF DESIGN PATTERNS Software Design Pattern Kent Beck Ward Cunningham Pattern Language in Programming | OOPSLA Conference (Object-Oriented Programming, Systems, Languages & Applications) 1987 1987 Software Design Pattern Pattern Language in Programming | OOPSLA Conference 1987 (Object-Oriented Programming, Systems, Languages & Applications) “A pattern language guides a designer by providing workable solutions to all of the problems known to arise in the course of design. It is a sequence of bits of knowledge written in a style and arranged in an order which leads a designer to ask (and answer) the right questions at the right time.” 1987 Software Design Pattern Pattern Language in Programming | OOPSLA Conference 1987 SmallTak UI Design Patterns Window Per Task Few Panes Per Window Standard Panes Short Menus Nouns and Verbs 1987 Software Design Pattern Erick Gang of Four (GoF) 1994 Richard Ralph John 1994 Software Design Pattern - Gang of Four (GoF) 1994 “A pattern is a solution to a problem in a context “ 1994 GoF Design Patterns Creational Builder Factory Method Prototype Singleton Structural Adapter Bridge Composite Decorator Façade Flyweight Proxy Behavioral Chain of responsibility Command Interpreter Iterator Mediator Memento Observer States Strategy Template Method Visitor 1995 Software Design Patterns Deepak Alur John Crupi Dan Malks Book, 2001 Prototyping Patterns for the J2EE Platform JavaOne conference, 2000 2001 Core J2EE Patterns Presentation Tier Intercepting Filter Front Controller View Helper Composite View Service to Worker Dispatcher View Business Tier Business Delegate Value Object Session Facade Composite Entity Value Object Assembler Value List Handler Service Locator Integration Tier Data Access Object Service Activator 2001 Software Design Pattern Robert C. Martin 2002 2002 Software Design Patterns Martin Fowler 2002 2002 Enterprise App Design Patterns 2002 Enterprise App Design Patterns Web Presentation Model View Controller Page Controller Front Controller Template View Transform View Two-Step View Application Controller Distribution Remote Façade Data Transfer Object Offline Concurrency Optimistic Offline Lock Pessimistic Offline Lock Coarse Grained Lock Implicit Lock Session State Client Session State Server Session State Database Session State Base Gateway Mapper Layer Supertype Separated Interface Registry Value Object Money Special Case Plugin Service Stub Record Set 2002 Software Design Patterns Russ Olsen 2008 2008 Ruby Design Patterns GoF Template Method Strategy Observer Composite Iterator Command Adapter Proxy Decorator Singleton Factory Builder Interpreter Ruby Domain-Specific Languages Meta-programming Convention Over Configuration 2008 Software Design Patterns Dhrubojyoti Kayal 2008 2008 Spring-based App Design Patterns 2008 2015 2016 Markus Eisele 2016 2018 AGENDA CONCEPT EVOLUTION GOF DESIGN PATTERNS History Son soluciones exitosas a problemas comunes Interface Implements Por ejemplo Beneficios Proporcionan elementos reusables en el diseño de sistemas software, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias. Efectividad comprobada en la resolución de problemas similares en ocasiones anteriores. Formalizan un vocabulario común entre diseñadores. Estandarizan el diseño, lo que beneficia notablemente a los desarrolladores. Facilitan el aprendizaje de las nuevas generaciones de diseñadores y desarrolladores utilizando conocimiento ya existente. Entonces, ¿estás listo para aprender sobre patrones de diseño? Types GoF Design Patterns Creational Builder Factory Method Prototype Singleton Structural Adapter Bridge Composite Decorator Façade Flyweight Proxy Behavioral Chain of responsibility Command Interpreter Iterator Mediator Memento Observer States Strategy Template Method Visitor • • • • • RESUMEN Recordemos • • • REFERENCIAS Para profundizar PREGRADO
Compartilhar