3.2 - Patrones de diseño Flashcards
Que es un patrón de diseño y para que se utiliza
Es una solución general y reutilizable para un problema común en el diseño de software.
Proponga una aplicación para el patrón adaptador
se utiliza cuando se necesita que una interfaz existente sea compatible con otra interfaz sin modificar su código fuente.
¿Qué es una responsabilidad, y cuáles son los tipos básicos de responsabilidades?
“Una responsabilidad es un contrato u obligación de una clase”
Dos categorías:
- hacer
- conocer
Explique mediante el formato problema-solución el patrón “Experto”.
Problema: ¿A quien se asignan las responsabilidades en el diseño orientado a objetos?
Solución: Asignar una responsabilidad al experto en información: la clase que cuenta con la información necesaria para cumplir la responsabilidad.
Explique mediante el formato problema-solución el patrón “Creador”.
Problema: ¿Quién debería ser responsable de crear una nueva instancia de alguna clase?
Solución: Asignar la responsabilidad de crear instancias de una clase a la clase que tiene la información necesaria para crearlas.
Explique mediante el formato problema-solución el patrón “Bajo Acoplamiento”.
Problema: ¿Cómo soportar bajas dependencias, bajo impacto en el cambio e incremento en la reutilización?
Solución: Evitar que las clases dependan demasiado unas de otras y promover el uso de interfaces para reducir la dependencia.
Explique mediante el formato problema-solución el patrón “Alta Cohesión”.
Problema: ¿Cómo mantener la complejidad manejable?
Solución: asignar las responsabilidades de manera que las cohesión permanezca alta.
Explique mediante el formato problema-solución el patrón “Controlador”.
Problema: ¿Quién debe ser el responsable de gestionar un evento de entrada al sistema?
Solución: Maneja las solicitudes del usuario y coordina las acciones del sistema. Ayuda a separar la lógica de presentación de la lógica de negocio.
Que son los Patrones de comportamiento?
Ofrecen soluciones respecto a la interacción y responsabilidades entre clases y objetos, así como los algoritmos que encapsulan
Ejemplo: Observer, Strategy, Chain of Responsability
Que son los Patrones estructurales
Corresponden a los patrones de diseño de software que solucionan problemas de asociación, composición y agregación de clases Ejemplos: Adapter, Composite, Bridge
Que son los Patrones creacionales
Solucionan problemas de creación de instancias. Nos ayudan a encapsular y abstraer dicha creación
Ejemplos: Singleton, Factory, Prototype