GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Mindmap

Patrones GRASP(Capa de Dominio)

David Castillo Reguera Ingeniería del Software Spanisch

Inhalt der Mindmap

Patrones GRASP(Capa de Dominio)

  1. Patrones de Principios Generales para Asignar Responsabilidades

    • La asignación de responsabilidades se muestra en los diagramas de interacción mediante mensajes que se envían a las clases de objetos.
    • La asignación de responsabilidades a objetos se hace durante el diseño, al definir las operaciones de cada clase de objetos.
    • Principios fundamentales para guiar la asignación de responsabilidades a objetos.
  2. Patrones GRASP básicos

    • Experto en Información
      • Contexto: Asignación de responsabilidades a objetos
      • Problema: ¿Cuál es el principio general para asignar responsabilidades a los objetos? Decidir a qué clase hemos de asignar una responsabilidad concreta.
      • Solución:
        • Asignar una responsabilidad a la clase que tiene la información necesaria para realizarla.
        • La aplicación del patrón requiere tener claramente definidas las responsabilidades que se quieren asignar (postcondiciones de las operaciones).
        • No siempre existe un único experto, sino que pueden existir diversos expertos parciales que tendrán que colaborar.
    • Creador
      • Contexto: Asignación de responsabilidades a objetos
      • Problema: ¿Quién ha de tener la responsabilidad de crear una instancia de una clase?
      • Solución: Asignar a la clase B la responsabilidad de crear una instancia de una clase A si satisface una de las siguientes condiciones:
        • B es un agregado de objetos de A.
        • B contiene objetos de A.
        • B tiene los datos necesarios para inicializar un objeto de A(B tiene los valores de los parámetros del constructor de A).
        • B usa muchos objetos de A.
        • B guarda instancias de objetos de A.
    • Controlador
      • Contexto:
        • Los sistemas software reciben eventos externos.
        • Una vez recibido un evento en la capa de presentación, algún objeto de la capa de dominio ha de recibir este evento y ejecutar las acciones correspondientes.
      • Problema: ¿Qué objeto es el responsable de tratar un evento externo?
      • Solución:
        • Asignar esta responsabilidad a un controlador.
        • Un controlador es un objeto de una clase(no pertenece a la interfaz usuario).
        • Posibles controladores:
          • Controlador de Fachada: Una clase que representa todo el sistema.
          • Controlador de Caso de Uso: Una clase que representa una instancia de un caso de uso.
    • Alta Cohesión
      • Cohesión: medida del grado de relación y de concentración de las distintas responsabilidades de una clase.
      • Contexto: Asignación de responsabilidades a objetos.
      • Problema: ¿Cómo mantener la complejidad controlable?
      • Solución: Asignar responsabilidades de manera que la cohesión permanezca alta.
      • Una clase con cohesión baja:
        • Ejemplo: Los controladores de fachada suelen ser poco cohesivos
        • Tiene muchas responsabilidades de distintas áreas funcionales.
        • Tiene muchas operaciones poco relacionadas funcionalmente.
        • Inconveniente: difícil de comprender, difícil de reutilizar y de mantener, sensible a los cambios.
      • Una clase con cohesión alta:
        • Tiene pocas responsabilidades en un área funcional.
        • Colabora con otras clases para hacer las tareas.
        • Suele tener pocas operaciones muy relacionadas funcionalmente.
        • Ventajas: fácil comprensión y fácil reutilización y mantenimiento.
    • Bajo Acoplamiento
      • Acomplamiento: medida del grado de conexión, conocimiento y dependencia de una clase respecto a otras clases
      • Contexto: Asignación de responsabilidades a objetos.
      • Problema: ¿Cómo soportar bajas dependencias, bajo impacto del cambio e incremento de reutilización?
      • ¿Cuando hay acoplamiento de la clase A a la clase B?
        • A tiene un atributo de tipo B.
        • A tiene una asociación navegable con B.
        • B es un parámetro o el retorno de una operación de A.
        • Una operación de A hace referencia a un objeto de B.
        • A es una subclase directa o indirecta de B.
      • Solución: El acoplamiento entre clases ha de ser bajo para:
        • Evitar que cambios en una clase tengan efecto sobre otras clases.
        • Facilitar la comprensión de las clases (sin recurrir a otras)
        • Facilitar la reutilización.

Informationen

Beschreibung
Ingeniería del Software (Tema 3) Mindmap am Patrones GRASP(Capa de Dominio), erstellt von David Castillo Reguera am 22/05/2019.
Aufrufe
4
Bewertung

Mehr zu Análisis y diseño orientado a objetos

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck