SlideShare una empresa de Scribd logo
1 de 23
Patrones GRASP
Mariano Sánchez
Patrones GRASP
• Acrónimo de General Responsibility
Assignment Software Patterns.
• Describen los principios fundamentales
para asignar responsabilidades a los
objetos.
El patrón “Experto”
• Problema: ¿en qué debemos basarnos para
asignar responsabilidades a las clases?
• Solución: asignar la responsabilidad al
“experto en la información”
El experto en la información es la clase que
tiene la información necesaria para cumplir
la responsabilidad.
El patrón “Experto”
• Los objetos deben hacer las cosas relacionadas
con la información que poseen.
El patrón “Creador”
• Problema: ¿quién es el responsable de crear
una nueva instancia de una clase?
• Solución: B es responsable de crear una
instancia de A si:
– B agrega objetos de A
– B contiene referencias a objetos de A
– B almacena instancias de A
– B utiliza estrechamente objetos de A
– B tiene la información de inicialización que se
necesita para crear un objeto de clase A
El patrón “Creador”
El patrón “Creador”
El patrón “Bajo acoplamiento”
• Problema: ¿cómo mantener un bajo
acoplamiento para lograr, entre otras
cosas, alta reutilización?
Nota: el acoplamiento mide el grado en que
una clase está conectada a otra, tiene
conocimiento de otra o, de alguna manera,
depende de otra.
El patrón “Bajo acoplamiento”
• Situaciones de acoplamiento:
– X tiene un miembro o declara una variable de
clase Y
– X tiene un método que toma como parámetro
un objeto de clase Y
– X es un descendiente de Y
El patrón “Bajo acoplamiento”
• Desventajas del acoplamiento:
– Los cambios en una clase pueden implicar
cambios en las clases relacionadas.
– Dificultad de comprensión.
– Dificultad de reutilización.
– ¿Pérdida de rendimiento?
El patrón “Bajo acoplamiento”
• Solución: asignar la responsabilidad de
manera que el acoplamiento permanezca
bajo.
El patrón “Bajo acoplamiento” (y V)
• Consideraciones:
– El bajo acoplamiento permite crear clases más
independientes, más reutilizables, lo que
implica mayor productividad
– El acoplamiento puede no ser importante si la
reutilización no está en nuestros objetivos
– La especialización es una forma fuerte de
acoplar clases
– El acoplamiento bajísimo produce diseños muy
pobres, objetos sobrecargados, complejos, etc.
El patrón “Bajo acoplamiento” (y V)
El patrón “Alta cohesión”
• Problema: ¿cómo mantener la complejidad de
una clase en niveles manejables?
Nota: la cohesión mide el grado en que están
relacionadas las responsabilidades de una
clase.
El patrón “Alta cohesión”
• Desventajas de una clase con baja cohesión:
– Difícil de comprender
– Difícil de reutilizar
– Difícil de mantener
– Delicada, se afecta mucho por los cambios
El patrón “Alta cohesión”
• Solución: asignar responsabilidades de
manera que la cohesión se mantenga alta.
El patrón “Controlador”
• Problema: ¿quién debería ser responsable
de manejar un evento del sistema?
• Un evento del sistema es un evento
generado por un actor externo.
El patrón “Controlador”
• Solución: asignar la responsabilidad al
“controlador”, que será una clase que:
– Representa al sistema completo, a la
organización... (controlador “fachada”)
– Representa una parte activa del mundo real que
desencadena de tal evento (controlador de rol)
– Representa un manejador artificial de eventos
(controlador de CdU)
El patrón “Controlador”
• Sugerencias:
– Puede utilizarse un controlador por cada CdU, de
manera que se encargue de controlar el estado
del CdU, la secuencia de eventos, etc.
– Una vez que el controlador recibe un evento,
puede delegar sobre otros objetos para no verse
sobrecargado (producirá, además, baja cohesión).
El patrón “Controlador”
pulsa
:AppletCliente
buttonEnviarClicked
:Cliente
Enviar(...) Evento del sistema
El patrón “Comando” (no es Grasp)
• Se utiliza para asignar responsabilidades de
manejo de eventos en sistemas que
procesan muchos tipos de eventos.
Comando
Ejecutar()
Comando1
Ejecutar()
Comando2
Ejecutar()
ComandoN
Ejecutar()
Preguntas?
Gracias!!

Más contenido relacionado

La actualidad más candente

Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoJuan Pablo Bustos Thames
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudEliud Cortes
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenariosUCATEBA
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasAlex Uhu Colli
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Javier Rubiano Quiroga
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creaciónAutentia
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmiSandrea Rodriguez
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2David Motta Baldarrago
 
Ingenieria requisitos
Ingenieria requisitosIngenieria requisitos
Ingenieria requisitosYAMILA GASCON
 
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
 
FACCI Casos de uso
FACCI Casos de usoFACCI Casos de uso
FACCI Casos de usoafrancoing
 

La actualidad más candente (20)

Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de uso
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Requerimientos funcionales 2
Requerimientos funcionales 2Requerimientos funcionales 2
Requerimientos funcionales 2
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creación
 
Documento vision
Documento visionDocumento vision
Documento vision
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
 
Preguntas rup (1)
Preguntas rup (1)Preguntas rup (1)
Preguntas rup (1)
 
Requisitos no Funcionales
Requisitos no FuncionalesRequisitos no Funcionales
Requisitos no Funcionales
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
Ingenieria requisitos
Ingenieria requisitosIngenieria requisitos
Ingenieria requisitos
 
ADO
ADOADO
ADO
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
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...
 
FACCI Casos de uso
FACCI Casos de usoFACCI Casos de uso
FACCI Casos de uso
 

Destacado (18)

Dental technology as a platform
Dental technology as a platformDental technology as a platform
Dental technology as a platform
 
Katrina's Resume
Katrina's ResumeKatrina's Resume
Katrina's Resume
 
La industria de la animación en España. Ponente: José Antonio Navarrete
La industria de la animación en España. Ponente: José Antonio NavarreteLa industria de la animación en España. Ponente: José Antonio Navarrete
La industria de la animación en España. Ponente: José Antonio Navarrete
 
Semana de mayo
Semana de mayoSemana de mayo
Semana de mayo
 
6 animales de la sabana
6 animales de la sabana6 animales de la sabana
6 animales de la sabana
 
Actividad1 word
Actividad1 wordActividad1 word
Actividad1 word
 
Resume1
Resume1Resume1
Resume1
 
Uso del diccionario
Uso del diccionarioUso del diccionario
Uso del diccionario
 
Tema 1 procesos psicológicos basicos
Tema 1 procesos psicológicos basicosTema 1 procesos psicológicos basicos
Tema 1 procesos psicológicos basicos
 
Economics of digital goods
Economics of digital goodsEconomics of digital goods
Economics of digital goods
 
Kiec
Kiec Kiec
Kiec
 
Tecnologías analógicas química franco heriberto
Tecnologías analógicas química franco heribertoTecnologías analógicas química franco heriberto
Tecnologías analógicas química franco heriberto
 
Acessos ao portal do SREA
Acessos ao portal do SREAAcessos ao portal do SREA
Acessos ao portal do SREA
 
Aparato digestivo
Aparato digestivoAparato digestivo
Aparato digestivo
 
Janet Stephenson "Energy Cultures as an integrative framework."
Janet Stephenson  "Energy Cultures as an integrative framework."Janet Stephenson  "Energy Cultures as an integrative framework."
Janet Stephenson "Energy Cultures as an integrative framework."
 
Ijetr021117
Ijetr021117Ijetr021117
Ijetr021117
 
Proyecto_Midikedia_ConectarIgualdad2.0
Proyecto_Midikedia_ConectarIgualdad2.0Proyecto_Midikedia_ConectarIgualdad2.0
Proyecto_Midikedia_ConectarIgualdad2.0
 
Flex y Byson
Flex y BysonFlex y Byson
Flex y Byson
 

Similar a Patrones GRASP: Experto, Creador y Bajo acoplamiento

Patrones fundamentales es el grasp (patrones de
Patrones fundamentales es el grasp (patrones dePatrones fundamentales es el grasp (patrones de
Patrones fundamentales es el grasp (patrones deangelvilzu19
 
Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]Hack '
 
Guía para maestros: Estructura multiplicativa
Guía para maestros: Estructura multiplicativa Guía para maestros: Estructura multiplicativa
Guía para maestros: Estructura multiplicativa Compartir Palabra Maestra
 
2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...
2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...
2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...eMadrid network
 
Análisis y Diseño OO 2
Análisis y Diseño OO 2Análisis y Diseño OO 2
Análisis y Diseño OO 2Jano González
 
Como crear mini y webquest
Como crear mini y webquestComo crear mini y webquest
Como crear mini y webquestLorena Brondani
 
Algebra Word problems
Algebra Word problemsAlgebra Word problems
Algebra Word problemsEdgar Mata
 
Planificacion curso guia herramientas web 2.0 en la práctica docente
Planificacion curso guia herramientas web 2.0 en la práctica docentePlanificacion curso guia herramientas web 2.0 en la práctica docente
Planificacion curso guia herramientas web 2.0 en la práctica docenteEducaweb
 
Objetos de Aprendizaje
Objetos de AprendizajeObjetos de Aprendizaje
Objetos de AprendizajeXavier Ochoa
 
Modularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidraModularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidraAgustin Ramos
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaJosé Antonio Sandoval Acosta
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetoskarlalopezbello
 
Principios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLIDPrincipios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLIDLuis Alexander Aldazabal Gil
 
3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdfRicardoOByrne1
 

Similar a Patrones GRASP: Experto, Creador y Bajo acoplamiento (20)

Patrones fundamentales es el grasp (patrones de
Patrones fundamentales es el grasp (patrones dePatrones fundamentales es el grasp (patrones de
Patrones fundamentales es el grasp (patrones de
 
Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]
 
Clean code capítulo 10
Clean code capítulo 10Clean code capítulo 10
Clean code capítulo 10
 
Guía para maestros: Estructura multiplicativa
Guía para maestros: Estructura multiplicativa Guía para maestros: Estructura multiplicativa
Guía para maestros: Estructura multiplicativa
 
2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...
2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...
2010-03-12 Sem eMadrid, Pilar Sancho, UCM, "Experiencias y resultados de Nucl...
 
Análisis y Diseño OO 2
Análisis y Diseño OO 2Análisis y Diseño OO 2
Análisis y Diseño OO 2
 
Actividad 3.2
Actividad 3.2Actividad 3.2
Actividad 3.2
 
Pruebas internas
Pruebas internasPruebas internas
Pruebas internas
 
Como crear mini y webquest
Como crear mini y webquestComo crear mini y webquest
Como crear mini y webquest
 
6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt
 
Algebra Word problems
Algebra Word problemsAlgebra Word problems
Algebra Word problems
 
Planificacion curso guia herramientas web 2.0 en la práctica docente
Planificacion curso guia herramientas web 2.0 en la práctica docentePlanificacion curso guia herramientas web 2.0 en la práctica docente
Planificacion curso guia herramientas web 2.0 en la práctica docente
 
Objetos de Aprendizaje
Objetos de AprendizajeObjetos de Aprendizaje
Objetos de Aprendizaje
 
Modularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidraModularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidra
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
 
Lanzador azucena
Lanzador azucenaLanzador azucena
Lanzador azucena
 
Principios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLIDPrincipios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLID
 
3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdf
 
Trabajo final
Trabajo finalTrabajo final
Trabajo final
 

Más de Mariano Sánchez

Más de Mariano Sánchez (18)

.NET Core
.NET Core.NET Core
.NET Core
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Introducción a SignalR
Introducción a SignalRIntroducción a SignalR
Introducción a SignalR
 
Visual Studio LightSwitch
Visual Studio LightSwitchVisual Studio LightSwitch
Visual Studio LightSwitch
 
HTML5 + Asp.NET
HTML5 + Asp.NETHTML5 + Asp.NET
HTML5 + Asp.NET
 
Hey Cortana!
Hey Cortana!Hey Cortana!
Hey Cortana!
 
Developing Universal Apps for Windows
Developing Universal Apps for WindowsDeveloping Universal Apps for Windows
Developing Universal Apps for Windows
 
Introducing the Windows Phone 8.1 App Development Platform
Introducing the Windows Phone 8.1 App Development PlatformIntroducing the Windows Phone 8.1 App Development Platform
Introducing the Windows Phone 8.1 App Development Platform
 
Visual Studio Online
Visual Studio OnlineVisual Studio Online
Visual Studio Online
 
Patrones de Diseño
Patrones de DiseñoPatrones de Diseño
Patrones de Diseño
 
Introducción a DDD
Introducción a DDDIntroducción a DDD
Introducción a DDD
 
Conociendo TypeScript
Conociendo TypeScriptConociendo TypeScript
Conociendo TypeScript
 
C# 6 - Que hay de nuevo?
C# 6 - Que hay de nuevo?C# 6 - Que hay de nuevo?
C# 6 - Que hay de nuevo?
 
Universal Windows Platform Programando para todos y todas
Universal Windows PlatformProgramando para todos y todasUniversal Windows PlatformProgramando para todos y todas
Universal Windows Platform Programando para todos y todas
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Introducción a LINQ
Introducción a LINQIntroducción a LINQ
Introducción a LINQ
 
Refactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existenteRefactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existente
 
Patrones de Diseño
Patrones de DiseñoPatrones de Diseño
Patrones de Diseño
 

Patrones GRASP: Experto, Creador y Bajo acoplamiento

  • 2. Patrones GRASP • Acrónimo de General Responsibility Assignment Software Patterns. • Describen los principios fundamentales para asignar responsabilidades a los objetos.
  • 3. El patrón “Experto” • Problema: ¿en qué debemos basarnos para asignar responsabilidades a las clases? • Solución: asignar la responsabilidad al “experto en la información” El experto en la información es la clase que tiene la información necesaria para cumplir la responsabilidad.
  • 4. El patrón “Experto” • Los objetos deben hacer las cosas relacionadas con la información que poseen.
  • 5. El patrón “Creador” • Problema: ¿quién es el responsable de crear una nueva instancia de una clase? • Solución: B es responsable de crear una instancia de A si: – B agrega objetos de A – B contiene referencias a objetos de A – B almacena instancias de A – B utiliza estrechamente objetos de A – B tiene la información de inicialización que se necesita para crear un objeto de clase A
  • 8. El patrón “Bajo acoplamiento” • Problema: ¿cómo mantener un bajo acoplamiento para lograr, entre otras cosas, alta reutilización? Nota: el acoplamiento mide el grado en que una clase está conectada a otra, tiene conocimiento de otra o, de alguna manera, depende de otra.
  • 9. El patrón “Bajo acoplamiento” • Situaciones de acoplamiento: – X tiene un miembro o declara una variable de clase Y – X tiene un método que toma como parámetro un objeto de clase Y – X es un descendiente de Y
  • 10. El patrón “Bajo acoplamiento” • Desventajas del acoplamiento: – Los cambios en una clase pueden implicar cambios en las clases relacionadas. – Dificultad de comprensión. – Dificultad de reutilización. – ¿Pérdida de rendimiento?
  • 11. El patrón “Bajo acoplamiento” • Solución: asignar la responsabilidad de manera que el acoplamiento permanezca bajo.
  • 12. El patrón “Bajo acoplamiento” (y V) • Consideraciones: – El bajo acoplamiento permite crear clases más independientes, más reutilizables, lo que implica mayor productividad – El acoplamiento puede no ser importante si la reutilización no está en nuestros objetivos – La especialización es una forma fuerte de acoplar clases – El acoplamiento bajísimo produce diseños muy pobres, objetos sobrecargados, complejos, etc.
  • 13. El patrón “Bajo acoplamiento” (y V)
  • 14. El patrón “Alta cohesión” • Problema: ¿cómo mantener la complejidad de una clase en niveles manejables? Nota: la cohesión mide el grado en que están relacionadas las responsabilidades de una clase.
  • 15. El patrón “Alta cohesión” • Desventajas de una clase con baja cohesión: – Difícil de comprender – Difícil de reutilizar – Difícil de mantener – Delicada, se afecta mucho por los cambios
  • 16. El patrón “Alta cohesión” • Solución: asignar responsabilidades de manera que la cohesión se mantenga alta.
  • 17. El patrón “Controlador” • Problema: ¿quién debería ser responsable de manejar un evento del sistema? • Un evento del sistema es un evento generado por un actor externo.
  • 18. El patrón “Controlador” • Solución: asignar la responsabilidad al “controlador”, que será una clase que: – Representa al sistema completo, a la organización... (controlador “fachada”) – Representa una parte activa del mundo real que desencadena de tal evento (controlador de rol) – Representa un manejador artificial de eventos (controlador de CdU)
  • 19. El patrón “Controlador” • Sugerencias: – Puede utilizarse un controlador por cada CdU, de manera que se encargue de controlar el estado del CdU, la secuencia de eventos, etc. – Una vez que el controlador recibe un evento, puede delegar sobre otros objetos para no verse sobrecargado (producirá, además, baja cohesión).
  • 21. El patrón “Comando” (no es Grasp) • Se utiliza para asignar responsabilidades de manejo de eventos en sistemas que procesan muchos tipos de eventos. Comando Ejecutar() Comando1 Ejecutar() Comando2 Ejecutar() ComandoN Ejecutar()