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

linux device driver
linux device driverlinux device driver
linux device driverRahul Batra
 
HISTORIA Y ARQUITECTURA DEL HARDWARE
HISTORIA Y ARQUITECTURA DEL HARDWAREHISTORIA Y ARQUITECTURA DEL HARDWARE
HISTORIA Y ARQUITECTURA DEL HARDWARELORENGI
 
Computador definição e tipos - 02-2013
Computador   definição e tipos - 02-2013Computador   definição e tipos - 02-2013
Computador definição e tipos - 02-2013Leandro Martins
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresJorge Ávila Miranda
 
Board support package_on_linux
Board support package_on_linuxBoard support package_on_linux
Board support package_on_linuxVandana Salve
 
Arquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresArquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresEmanoel Lopes
 
Catalogo angelissima
Catalogo angelissimaCatalogo angelissima
Catalogo angelissimaRobinFG
 
Componentes da placa mãe
Componentes da placa mãeComponentes da placa mãe
Componentes da placa mãeWilsonkentura
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal BootloaderSatpal Parmar
 
Componentes internos de la pc
Componentes internos de la pc Componentes internos de la pc
Componentes internos de la pc alejandro9874
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell ScriptLuís Eduardo
 
evolution of operating system
evolution of operating systemevolution of operating system
evolution of operating systemAmir Khan
 
Operating system Memory management
Operating system Memory management Operating system Memory management
Operating system Memory management Shashank Asthana
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorSuzana Viana Mota
 

La actualidad más candente (20)

linux device driver
linux device driverlinux device driver
linux device driver
 
BOARD, ALIMENTACIÓN, PUERTOS, BUSES, OVERCLOKING, GPUS Y ALGO MÁS
BOARD, ALIMENTACIÓN, PUERTOS, BUSES, OVERCLOKING, GPUS Y ALGO MÁSBOARD, ALIMENTACIÓN, PUERTOS, BUSES, OVERCLOKING, GPUS Y ALGO MÁS
BOARD, ALIMENTACIÓN, PUERTOS, BUSES, OVERCLOKING, GPUS Y ALGO MÁS
 
HISTORIA Y ARQUITECTURA DEL HARDWARE
HISTORIA Y ARQUITECTURA DEL HARDWAREHISTORIA Y ARQUITECTURA DEL HARDWARE
HISTORIA Y ARQUITECTURA DEL HARDWARE
 
Chipset
ChipsetChipset
Chipset
 
Linguagem Assembly
Linguagem AssemblyLinguagem Assembly
Linguagem Assembly
 
Computador definição e tipos - 02-2013
Computador   definição e tipos - 02-2013Computador   definição e tipos - 02-2013
Computador definição e tipos - 02-2013
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
 
Aula 01 instalação de hardware
Aula 01 instalação de hardwareAula 01 instalação de hardware
Aula 01 instalação de hardware
 
Board support package_on_linux
Board support package_on_linuxBoard support package_on_linux
Board support package_on_linux
 
Arquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresArquitetura e Manutenção de Computadores
Arquitetura e Manutenção de Computadores
 
Catalogo angelissima
Catalogo angelissimaCatalogo angelissima
Catalogo angelissima
 
Componentes da placa mãe
Componentes da placa mãeComponentes da placa mãe
Componentes da placa mãe
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
Bootloaders
BootloadersBootloaders
Bootloaders
 
Componentes internos de la pc
Componentes internos de la pc Componentes internos de la pc
Componentes internos de la pc
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
evolution of operating system
evolution of operating systemevolution of operating system
evolution of operating system
 
Operating System.pdf
Operating System.pdfOperating System.pdf
Operating System.pdf
 
Operating system Memory management
Operating system Memory management Operating system Memory management
Operating system Memory management
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o Computador
 

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
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoFYaskelly Yedra
 
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 (15)

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
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
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
 

Último

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 

Último (7)

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 

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/