SlideShare una empresa de Scribd logo
1 de 19
Patrones de Diseño en POO 
Carlos Nacianceno 
El Taller Web
El Taller Web 
• Partners de Zend Technologies 
o Productos 
o Entrenamiento 
o Consultoría 
o Soporte 
El Taller Web
Agenda 
• Qué es un patrón de diseño? 
• Y qué no es! 
• Tipos de Patrones de diseño 
• Algunos Patrones de diseño 
• Preguntas 
Agenda
Patrones de diseño
¿Qué es un patrón de diseño? 
• Es una solución general reusable a un problema que 
ocurre comunmente en un contexto dado en el 
diseño de Software (wikipedia) 
• Un arreglo de piezas de código que te resuelven un 
problema 
Patrones de diseño
¿Qué no es un patrón de diseño? 
• Una solución mágica 
• Una solución de copy/paste 
• Una implementación estándar 
Patrones de diseño
Tipos de Patrones de diseño 
• Estructurales 
• Creacionales 
• De comportamiento 
• Concurrencia 
Patrones de diseño
Tipos de Patrones (Martin Fowler) 
• Base 
• Estado de Sesión 
• Distribución 
• Presentación Web 
• Lógica de Dominio 
• Arquitectura de fuente de datos 
• Objetos relacionales 
• Estructurales 
• De comportamiento 
• Mapeo de Metadatos 
Patrones de diseño
Singleton 
• Necesitamos solo una instancia del objeto. 
• Nos dá un acceso global y único a esa instancia 
Patrones de diseño
Gateway 
• Hay que acceder a diferentes objetos o recursos con 
APIs diversos 
• Gateway, encapsula el acceso a todos los recursos u 
objetos en uno solo 
Patrones de diseño
Registry 
• No se tiene referencia para acceder a un Objeto o 
servicio 
• Un objeto bien conocido que se usa para buscar 
objetos y servicios. 
Patrones de diseño
Factory 
• Queremos un objeto de un tipo específico pero se 
define dinámicamente. 
• Define una interfaz para crear objetos de acuerdo los 
parámetros suministrados 
Patrones de diseño
Observer 
• Tienes un número indeterminado de objetos que 
necesitan ser notificados cuando un estado cambie 
• Define una dependencia de un objeto a muchos 
objetos y cuando un estado cambia todos los 
dependientes son notificados. Suscripción 
Patrones de diseño
Data Mapper 
• Representar datos de una fuente de persistencia en 
objetos 
• Una capa de mappers que mueve datos entre los 
objetos y la BD, mientras son independientes entre sí 
Patrones de diseño
Active Record 
• Tratar a un registro de BD como un objeto 
• Define un objeto que envuelve un registro en 
BD,encapsulando su acceso y añadiendo 
comportamiento. 
Patrones de diseño
Service Layer 
• Definir las capacidades de una aplicación 
• Establece el conjunto de las operaciones 
disponibles, sus respuestas e interacciones 
Patrones de diseño
Martin Fowler 
Patterns of Enterprise Application Architecture 
http://www.martinfowler.com/eaaCatalog/
¿Preguntas?
GRACIAS 
info@eltallerweb.com 
@eltallerweb 
@igormx

Más contenido relacionado

La actualidad más candente

Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapaJefferson Guillen
 
Arquitectura cisc
Arquitectura ciscArquitectura cisc
Arquitectura ciscSuarezJhon
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosFranklin Parrales Bravo
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVictor Chavez
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de softwareJohn Fonseca
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesEl Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesJosé Enrique Alvarez Estrada
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Oswaldo Hernández
 
IIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de SoftwareIIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de SoftwareFranklin Parrales Bravo
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoFYaskelly Yedra
 
Metodologia web
Metodologia webMetodologia web
Metodologia webAnel Sosa
 

La actualidad más candente (20)

Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Etapas de compilacion
 
Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapa
 
Unidad 2 modelado de negocios
Unidad 2 modelado de negociosUnidad 2 modelado de negocios
Unidad 2 modelado de negocios
 
Arquitectura cisc
Arquitectura ciscArquitectura cisc
Arquitectura cisc
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de software
 
Metricas de Software
Metricas de SoftwareMetricas de Software
Metricas de Software
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Automatas y gramaticas
Automatas y gramaticasAutomatas y gramaticas
Automatas y gramaticas
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Modelo v y cascada
Modelo v y cascadaModelo v y cascada
Modelo v y cascada
 
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesEl Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
 
IIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de SoftwareIIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de Software
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Metodologia web
Metodologia webMetodologia web
Metodologia web
 

Destacado

Ejercicios propuestos 4
Ejercicios propuestos 4Ejercicios propuestos 4
Ejercicios propuestos 4cristian7767
 
Patrones De DiseñO
Patrones De DiseñOPatrones De DiseñO
Patrones De DiseñOgueste39de6
 
Patrones de Diseño y Frameworks
Patrones de Diseño y FrameworksPatrones de Diseño y Frameworks
Patrones de Diseño y FrameworksDaniel Cam Urquizo
 
Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...Software Guru
 
Introducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de softwareIntroducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de softwareYazmin RuBo
 
patrones de diseño web.
  patrones de diseño web.   patrones de diseño web.
patrones de diseño web. Diana Luna
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoGermania Rodriguez
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructuralesJuan Camilo
 
Talleres De Arquitectura V2
Talleres De Arquitectura V2Talleres De Arquitectura V2
Talleres De Arquitectura V2BizBlick
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de softwareIker Canarias
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Didier Granados
 

Destacado (14)

Ejercicios propuestos 4
Ejercicios propuestos 4Ejercicios propuestos 4
Ejercicios propuestos 4
 
Patrones De DiseñO
Patrones De DiseñOPatrones De DiseñO
Patrones De DiseñO
 
Patrones de Diseño y Frameworks
Patrones de Diseño y FrameworksPatrones de Diseño y Frameworks
Patrones de Diseño y Frameworks
 
Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...
 
Introducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de softwareIntroducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de software
 
patrones de diseño web.
  patrones de diseño web.   patrones de diseño web.
patrones de diseño web.
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
 
Clase 07a patrones_diseno
Clase 07a patrones_disenoClase 07a patrones_diseno
Clase 07a patrones_diseno
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructurales
 
Patrones diseño de software
Patrones diseño de softwarePatrones diseño de software
Patrones diseño de software
 
Talleres De Arquitectura V2
Talleres De Arquitectura V2Talleres De Arquitectura V2
Talleres De Arquitectura V2
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
 

Similar a Patrones de diseño en POO

GFI - APS BI Solucion Endeca (2013)
GFI - APS BI Solucion Endeca (2013)GFI - APS BI Solucion Endeca (2013)
GFI - APS BI Solucion Endeca (2013)GFI Informática
 
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Socialmetrix
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
 
CursoFundeweb2-basico (1).ppt
CursoFundeweb2-basico (1).pptCursoFundeweb2-basico (1).ppt
CursoFundeweb2-basico (1).pptmiguel checa
 
CursoFundeweb2-basico.ppt
CursoFundeweb2-basico.pptCursoFundeweb2-basico.ppt
CursoFundeweb2-basico.pptejavm
 
Hacm40 eq2-rational rose
Hacm40 eq2-rational roseHacm40 eq2-rational rose
Hacm40 eq2-rational roseklef258
 
Formación workflow - día 3 -
Formación   workflow - día 3 - Formación   workflow - día 3 -
Formación workflow - día 3 - Belen J
 
Catalogo de patrones 0
Catalogo de patrones 0Catalogo de patrones 0
Catalogo de patrones 0Fabio Ruiz
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosJoseph Lopez
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSpanishPASSVC
 
Presentacion De Programa De Formacion
Presentacion De Programa De FormacionPresentacion De Programa De Formacion
Presentacion De Programa De Formacionanderwrt
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Trabajo Netframework en una computadora.pptx
Trabajo Netframework en una computadora.pptxTrabajo Netframework en una computadora.pptx
Trabajo Netframework en una computadora.pptxRonaldHB1
 

Similar a Patrones de diseño en POO (20)

GFI - APS BI Solucion Endeca (2013)
GFI - APS BI Solucion Endeca (2013)GFI - APS BI Solucion Endeca (2013)
GFI - APS BI Solucion Endeca (2013)
 
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
 
01 Introducción a Flash Catalyst
01 Introducción a Flash Catalyst01 Introducción a Flash Catalyst
01 Introducción a Flash Catalyst
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Clean architecture
Clean architectureClean architecture
Clean architecture
 
Introducción a DDD
Introducción a DDDIntroducción a DDD
Introducción a DDD
 
CursoFundeweb2-basico (1).ppt
CursoFundeweb2-basico (1).pptCursoFundeweb2-basico (1).ppt
CursoFundeweb2-basico (1).ppt
 
CursoFundeweb2-basico.ppt
CursoFundeweb2-basico.pptCursoFundeweb2-basico.ppt
CursoFundeweb2-basico.ppt
 
Anotaciones Semánticas
Anotaciones SemánticasAnotaciones Semánticas
Anotaciones Semánticas
 
Hacm40 eq2-rational rose
Hacm40 eq2-rational roseHacm40 eq2-rational rose
Hacm40 eq2-rational rose
 
Proyectos de BI Factibles Genexus XIX
Proyectos de BI Factibles Genexus XIXProyectos de BI Factibles Genexus XIX
Proyectos de BI Factibles Genexus XIX
 
Formación workflow - día 3 -
Formación   workflow - día 3 - Formación   workflow - día 3 -
Formación workflow - día 3 -
 
U5.pptx
U5.pptxU5.pptx
U5.pptx
 
Catalogo de patrones 0
Catalogo de patrones 0Catalogo de patrones 0
Catalogo de patrones 0
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
 
Presentacion De Programa De Formacion
Presentacion De Programa De FormacionPresentacion De Programa De Formacion
Presentacion De Programa De Formacion
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Trabajo Netframework en una computadora.pptx
Trabajo Netframework en una computadora.pptxTrabajo Netframework en una computadora.pptx
Trabajo Netframework en una computadora.pptx
 
Dbms orientados a objetos
Dbms orientados a objetosDbms orientados a objetos
Dbms orientados a objetos
 

Más de El Taller Web

Z-Ray en Zend Server 8
Z-Ray en Zend Server 8Z-Ray en Zend Server 8
Z-Ray en Zend Server 8El Taller Web
 
Webinario mejorando el desempeño con zend server
Webinario   mejorando el desempeño con zend serverWebinario   mejorando el desempeño con zend server
Webinario mejorando el desempeño con zend serverEl Taller Web
 
Zend Framework 2 y MongoDB
Zend Framework 2 y  MongoDBZend Framework 2 y  MongoDB
Zend Framework 2 y MongoDBEl Taller Web
 
Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2El Taller Web
 
Módulos en Zend Framework 2
Módulos en Zend Framework 2Módulos en Zend Framework 2
Módulos en Zend Framework 2El Taller Web
 
Servicios en Zend Framework 2
Servicios en  Zend Framework 2Servicios en  Zend Framework 2
Servicios en Zend Framework 2El Taller Web
 
Mongo db enterprise_datasheet
Mongo db enterprise_datasheetMongo db enterprise_datasheet
Mongo db enterprise_datasheetEl Taller Web
 
10gen telco white_paper
10gen telco white_paper10gen telco white_paper
10gen telco white_paperEl Taller Web
 
Cisco web ex-cs-0511-final
Cisco web ex-cs-0511-finalCisco web ex-cs-0511-final
Cisco web ex-cs-0511-finalEl Taller Web
 
Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDBEl Taller Web
 
Introducción a Zend Framework 2
Introducción a  Zend Framework 2Introducción a  Zend Framework 2
Introducción a Zend Framework 2El Taller Web
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data CachingEl Taller Web
 
Introducción a PHP 5.4
Introducción a PHP 5.4Introducción a PHP 5.4
Introducción a PHP 5.4El Taller Web
 
TCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & OracleTCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & OracleEl Taller Web
 
Webinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDBWebinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDBEl Taller Web
 
Información sobre la certificación Zend
Información sobre la certificación Zend Información sobre la certificación Zend
Información sobre la certificación Zend El Taller Web
 

Más de El Taller Web (18)

Z-Ray en Zend Server 8
Z-Ray en Zend Server 8Z-Ray en Zend Server 8
Z-Ray en Zend Server 8
 
Webinario mejorando el desempeño con zend server
Webinario   mejorando el desempeño con zend serverWebinario   mejorando el desempeño con zend server
Webinario mejorando el desempeño con zend server
 
Memcached y PHP
Memcached y PHPMemcached y PHP
Memcached y PHP
 
Zend Framework 2 y MongoDB
Zend Framework 2 y  MongoDBZend Framework 2 y  MongoDB
Zend Framework 2 y MongoDB
 
Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2
 
Módulos en Zend Framework 2
Módulos en Zend Framework 2Módulos en Zend Framework 2
Módulos en Zend Framework 2
 
Servicios en Zend Framework 2
Servicios en  Zend Framework 2Servicios en  Zend Framework 2
Servicios en Zend Framework 2
 
Offers
OffersOffers
Offers
 
Mongo db enterprise_datasheet
Mongo db enterprise_datasheetMongo db enterprise_datasheet
Mongo db enterprise_datasheet
 
10gen telco white_paper
10gen telco white_paper10gen telco white_paper
10gen telco white_paper
 
Cisco web ex-cs-0511-final
Cisco web ex-cs-0511-finalCisco web ex-cs-0511-final
Cisco web ex-cs-0511-final
 
Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDB
 
Introducción a Zend Framework 2
Introducción a  Zend Framework 2Introducción a  Zend Framework 2
Introducción a Zend Framework 2
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data Caching
 
Introducción a PHP 5.4
Introducción a PHP 5.4Introducción a PHP 5.4
Introducción a PHP 5.4
 
TCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & OracleTCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & Oracle
 
Webinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDBWebinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDB
 
Información sobre la certificación Zend
Información sobre la certificación Zend Información sobre la certificación Zend
Información sobre la certificación Zend
 

Patrones de diseño en POO

  • 1. Patrones de Diseño en POO Carlos Nacianceno El Taller Web
  • 2. El Taller Web • Partners de Zend Technologies o Productos o Entrenamiento o Consultoría o Soporte El Taller Web
  • 3. Agenda • Qué es un patrón de diseño? • Y qué no es! • Tipos de Patrones de diseño • Algunos Patrones de diseño • Preguntas Agenda
  • 5. ¿Qué es un patrón de diseño? • Es una solución general reusable a un problema que ocurre comunmente en un contexto dado en el diseño de Software (wikipedia) • Un arreglo de piezas de código que te resuelven un problema Patrones de diseño
  • 6. ¿Qué no es un patrón de diseño? • Una solución mágica • Una solución de copy/paste • Una implementación estándar Patrones de diseño
  • 7. Tipos de Patrones de diseño • Estructurales • Creacionales • De comportamiento • Concurrencia Patrones de diseño
  • 8. Tipos de Patrones (Martin Fowler) • Base • Estado de Sesión • Distribución • Presentación Web • Lógica de Dominio • Arquitectura de fuente de datos • Objetos relacionales • Estructurales • De comportamiento • Mapeo de Metadatos Patrones de diseño
  • 9. Singleton • Necesitamos solo una instancia del objeto. • Nos dá un acceso global y único a esa instancia Patrones de diseño
  • 10. Gateway • Hay que acceder a diferentes objetos o recursos con APIs diversos • Gateway, encapsula el acceso a todos los recursos u objetos en uno solo Patrones de diseño
  • 11. Registry • No se tiene referencia para acceder a un Objeto o servicio • Un objeto bien conocido que se usa para buscar objetos y servicios. Patrones de diseño
  • 12. Factory • Queremos un objeto de un tipo específico pero se define dinámicamente. • Define una interfaz para crear objetos de acuerdo los parámetros suministrados Patrones de diseño
  • 13. Observer • Tienes un número indeterminado de objetos que necesitan ser notificados cuando un estado cambie • Define una dependencia de un objeto a muchos objetos y cuando un estado cambia todos los dependientes son notificados. Suscripción Patrones de diseño
  • 14. Data Mapper • Representar datos de una fuente de persistencia en objetos • Una capa de mappers que mueve datos entre los objetos y la BD, mientras son independientes entre sí Patrones de diseño
  • 15. Active Record • Tratar a un registro de BD como un objeto • Define un objeto que envuelve un registro en BD,encapsulando su acceso y añadiendo comportamiento. Patrones de diseño
  • 16. Service Layer • Definir las capacidades de una aplicación • Establece el conjunto de las operaciones disponibles, sus respuestas e interacciones Patrones de diseño
  • 17. Martin Fowler Patterns of Enterprise Application Architecture http://www.martinfowler.com/eaaCatalog/