Ventajas del diseño con patrones•   Permiten rehusar soluciones probadas•   Facilitan la comunicación entre diseñadores•  ...
Patrones fundamentales es el GRASP (Patrones de Principios Generales  para Asignar Responsabilidades)
GRASP (Patrones de Principios         Generales para Asignar           Responsabilidades)•   Experto en información•   Cre...
Experto en información• Problema: ¿Cuál es un principio para asignar  responsabilidades a los objetos?• Solución: Asignar ...
Creador• ¿Quién debería ser el responsable de la creación de  una nueva instancia de alguna clase?• Asignar a la clase B l...
Alta cohesión• Problema: ¿Cómo mantener la complejidad  manejable?• Asignar una responsabilidad de manera que la  cohesión...
Bajo acoplamiento• Problema: ¿Cómo soportar bajas  dependencias, bajo impacto del cambio e  incremento de la reutilización...
Controlador• Problema: ¿Quién debe ser el responsable de  gestionar un evento de entrada al sistema?• Asignar la responsab...
Patrones fundamentales es el grasp (patrones de
Patrones fundamentales es el grasp (patrones de
Próxima SlideShare
Cargando en…5
×

Patrones fundamentales es el grasp (patrones de

562 visualizaciones

Publicado el

0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
562
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
7
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Patrones fundamentales es el grasp (patrones de

  1. 1. Ventajas del diseño con patrones• Permiten rehusar soluciones probadas• Facilitan la comunicación entre diseñadores• Los patrones tienen nombres estándar• Facilitan el aprendizaje al diseñador inexperto
  2. 2. Patrones fundamentales es el GRASP (Patrones de Principios Generales para Asignar Responsabilidades)
  3. 3. GRASP (Patrones de Principios Generales para Asignar Responsabilidades)• Experto en información• Creador• Alta cohesión• Bajo acoplamiento• Controlador
  4. 4. Experto en información• Problema: ¿Cuál es un principio para asignar responsabilidades a los objetos?• Solución: Asignar una responsabilidad al experto en información (la clase que tiene la información necesaria para realizar la responsabilidad)
  5. 5. Creador• ¿Quién debería ser el responsable de la creación de una nueva instancia de alguna clase?• Asignar a la clase B la responsabilidad de crear una instancia de la clase A si se cumple una o más de los casos siguientes:• B agrega objetos de A• B contiene objetos de A• B registra instancias de objetos de A• B utiliza más estrechamente objetos de A• B tiene los datos de inicialización que se pasará a un objeto de A cuando sea creado
  6. 6. Alta cohesión• Problema: ¿Cómo mantener la complejidad manejable?• Asignar una responsabilidad de manera que la cohesión permanezca alta.
  7. 7. Bajo acoplamiento• Problema: ¿Cómo soportar bajas dependencias, bajo impacto del cambio e incremento de la reutilización?• Asignar una responsabilidad de manera que el acoplamiento permanezca bajo.• Una clase con alto acoplamiento confía en muchas otras clases• Los cambios en las clases relacionadas fuerzan cambios locales
  8. 8. Controlador• Problema: ¿Quién debe ser el responsable de gestionar un evento de entrada al sistema?• Asignar la responsabilidad de recibir o manejar un mensaje de evento del sistema a una clase que representa una de las siguientes opciones• Representa el sistema global• Utiliza la misma clase controlador para todos los eventos del sistema

×