Actividad 1 - PatronesGRASP

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Actividad 1: Sobre patrones de diseños GRASP

Nombre: Isabel Alejandra Flores Lumbrera


Grupo: IDyGS7A
Materia: Arquitectura de software
Maestro: Eric Armando Herrera Alfonso

Ciudad Obregón, Sonora. 08 de Noviembre de 2022.


Nombre Problema Solución

Experto ¿Cuál es el principio más básico para añadir Asignar responsabilidades al experto de la
responsabilidades en una clase? información, es decir, a la clase que tiene la
información necesaria para llevar a cabo la
tarea.

Creador ¿Quién debe ser responsable en la creación Una clase B tiene la responsabilidad para
de una nueva instancia de una clase? crear una instancia de la clase A si:
● B agrega objetos de A.
● B contiene objetos de A.
● B almacena objetos de A.
● B usa objetos de A.
● B tiene los datos necesarios para
inicializar a A cuando este es creado.

Alta cohesión ¿Cómo lograr que la complejidad sea lo más Asignar responsabilidades procurando que la
manejable posible? Alta cohesión: lo cohesión sea lo más alta posible.
relacionadas que están las responsabilidades
de una clase, o una clase con
responsabilidades altamente relacionadas y
que no lleva a cabo gran cantidad de trabajo.

Bajo acoplamiento ¿Cómo soportar baja dependencia e Asignar responsabilidades de tal manera que
incrementar la reutilización? Acoplamiento el acoplamiento sea el menor posible.
indica que tan
fuertemente está conectada una clase con
otra, tiene conocimiento de, o influye sobre
otra
clase, una clase con bajo acoplamiento no
depende de otras clases.
Controlador ¿Quién debe manejar eventos del sistema? Responsabilidades para el manejo de
Un controlador es un objeto responsable del mensajes de eventos del sistema a una clase
manejo de los eventos del sistema, que no que:
pertenece a la interfaz del usuario, el ● Representa al conjunto del sistema o
controlador recibe la solicitud del servicio negocio (Controlador Fachada).
desde la capa GUI y coordina su realización ● Representa algo del mundo real que
delegando a otros objetos. está activo (Controlador de Roles).
● Representa un administrador
artificioso para todos los eventos del
sistema (Controlador Caso de Uso).

Polimorfismo ¿Cómo manejar alternativas basadas en el Cuando el comportamiento relacionado varía


tipo? ¿Cómo crear componentes según el tipo (clase) asigne la
conectables? responsabilidad para el comportamiento
utilizando operaciones polimórficas a los
tipos para los que varía el
comportamiento.
Corolario: Evítense las comprobaciones
acerca del tipo de un objeto y procure no
utilizar la lógica condicional.

Fabricación pura ¿Qué objetos deberían tener la Asigne un conjunto de responsabilidades


responsabilidad cuando no se quiere violar altamente cohesivas a una clase artificial que
los objetivos de alta no
cohesión y bajo acoplamiento? representa un concepto del dominio.

Indirección ¿Dónde asignar una responsabilidad para Asigne la responsabilidad a un objeto


evitar el acoplamiento directo entre dos intermedio que medie entre otros
objetos? componentes para
que no estén acoplados directamente, el
intermediario crea un indirección
Variaciones protegidas ¿Cómo diseñar componentes de manera que Asigne responsabilidades para crear una
las variaciones en ellos no tengan interfaz estable alrededor de los puntos de
repercusión en variaciones previstas o inestabilidad.
otros elementos?

También podría gustarte