Podcast
Questions and Answers
¿Cuál es la función principal del patrón Builder?
¿Cuál es la función principal del patrón Builder?
El patrón Template Method permite modificar algoritmos de manera compleja.
El patrón Template Method permite modificar algoritmos de manera compleja.
False (B)
¿Qué beneficia el uso del patrón Strategy?
¿Qué beneficia el uso del patrón Strategy?
Permite elegir y cambiar algoritmos dinámicamente en tiempo de ejecución.
El patrón _________ proporciona una interfaz simple para un subsistema complejo.
El patrón _________ proporciona una interfaz simple para un subsistema complejo.
Signup and view all the answers
Relaciona los patrones de diseño con su descripción:
Relaciona los patrones de diseño con su descripción:
Signup and view all the answers
¿Qué patrón ayuda a reducir la complejidad y dependencias entre subsistemas?
¿Qué patrón ayuda a reducir la complejidad y dependencias entre subsistemas?
Signup and view all the answers
Un Director en el patrón Builder tiene el control total de la creación de un objeto.
Un Director en el patrón Builder tiene el control total de la creación de un objeto.
Signup and view all the answers
Menciona un escenario en el que se aplique el patrón Fachada.
Menciona un escenario en el que se aplique el patrón Fachada.
Signup and view all the answers
¿Cuál es la clasificación de los patrones de diseño?
¿Cuál es la clasificación de los patrones de diseño?
Signup and view all the answers
El patrón Singleton permite que una clase tenga múltiples instancias.
El patrón Singleton permite que una clase tenga múltiples instancias.
Signup and view all the answers
¿Qué hace el patrón Builder?
¿Qué hace el patrón Builder?
Signup and view all the answers
El patrón de diseño __________ se encarga de la creación de objetos a partir de una interfaz común.
El patrón de diseño __________ se encarga de la creación de objetos a partir de una interfaz común.
Signup and view all the answers
¿Cuál es una de las ventajas del patrón Builder?
¿Cuál es una de las ventajas del patrón Builder?
Signup and view all the answers
El patrón Composite se utiliza únicamente con el patrón Builder.
El patrón Composite se utiliza únicamente con el patrón Builder.
Signup and view all the answers
¿Qué rol desempeña el Director en el patrón Builder?
¿Qué rol desempeña el Director en el patrón Builder?
Signup and view all the answers
Relacione los términos con sus descripciones:
Relacione los términos con sus descripciones:
Signup and view all the answers
¿Cuál es el principio que establece que una clase debe tener una única razón para cambiar?
¿Cuál es el principio que establece que una clase debe tener una única razón para cambiar?
Signup and view all the answers
El Principio de Abierto-Cerrado establece que un módulo debe ser cerrado para la extensión.
El Principio de Abierto-Cerrado establece que un módulo debe ser cerrado para la extensión.
Signup and view all the answers
¿Qué asegura el Principio de Sustitución de Liskov?
¿Qué asegura el Principio de Sustitución de Liskov?
Signup and view all the answers
El principio que sugiere que las dependencias en un sistema deben ser hacia módulos más estables se llama principio de __________.
El principio que sugiere que las dependencias en un sistema deben ser hacia módulos más estables se llama principio de __________.
Signup and view all the answers
Relaciona cada principio con su descripción correspondiente:
Relaciona cada principio con su descripción correspondiente:
Signup and view all the answers
¿Cuál de los siguientes principios enfatiza la separación entre la interfaz y la implementación?
¿Cuál de los siguientes principios enfatiza la separación entre la interfaz y la implementación?
Signup and view all the answers
La cohesión baja se relaciona generalmente con tener múltiples responsabilidades en una clase.
La cohesión baja se relaciona generalmente con tener múltiples responsabilidades en una clase.
Signup and view all the answers
¿Qué representa el Principio de Dependencias Acíclicas?
¿Qué representa el Principio de Dependencias Acíclicas?
Signup and view all the answers
Flashcards
Método Move
Método Move
Mover un método de una clase a otra cuando un método es utilizado o será utilizado con mayor frecuencia por otra clase. Se reemplaza el método original por una delegación.
Patrones de Diseño
Patrones de Diseño
Soluciones reutilizables a problemas de diseño comunes en programación. Permiten generar un vocabulario común para resolver problemas y agrupan soluciones similares en categorías.
Patrón Creacional
Patrón Creacional
Patrón de diseño que se centra en la creación de objetos.
Patrón Estructural
Patrón Estructural
Signup and view all the flashcards
Patrón Comportamiento
Patrón Comportamiento
Signup and view all the flashcards
Singleton
Singleton
Signup and view all the flashcards
Patrón Builder
Patrón Builder
Signup and view all the flashcards
Ventajas del Patrón Builder
Ventajas del Patrón Builder
Signup and view all the flashcards
Builder (Patrón)
Builder (Patrón)
Signup and view all the flashcards
ConcreteBuilder (Patrón)
ConcreteBuilder (Patrón)
Signup and view all the flashcards
Template Method (Patrón)
Template Method (Patrón)
Signup and view all the flashcards
Strategy (Patrón)
Strategy (Patrón)
Signup and view all the flashcards
Facade (Patrón)
Facade (Patrón)
Signup and view all the flashcards
Subsistema Complejo
Subsistema Complejo
Signup and view all the flashcards
Director (Patrón)
Director (Patrón)
Signup and view all the flashcards
Independencia del código de construcción
Independencia del código de construcción
Signup and view all the flashcards
Principio de Responsabilidad Única
Principio de Responsabilidad Única
Signup and view all the flashcards
Principio Abierto/Cerrado
Principio Abierto/Cerrado
Signup and view all the flashcards
Principio de Sustitución de Liskov
Principio de Sustitución de Liskov
Signup and view all the flashcards
Principio de la Separación de la Interfaz
Principio de la Separación de la Interfaz
Signup and view all the flashcards
Principio de Dependencias Acíclicas
Principio de Dependencias Acíclicas
Signup and view all the flashcards
Cohesión
Cohesión
Signup and view all the flashcards
Paquete estable
Paquete estable
Signup and view all the flashcards
Inversión de dependencias
Inversión de dependencias
Signup and view all the flashcards
Study Notes
Resumen del examen D1
- El documento es un resumen de Diseño de aplicaciones 1 de la Universidad ORT Uruguay.
- El documento incluye un índice detallado de los temas cubiertos en el examen.
- El documento se descarga de studocu.com
Conceptos POO
- Diseño Orientado a Objetos (DOO): Representa el problema del mundo real en el software.
- Abstracción: Simplificación de la realidad en clases y objetos.
- Información oculta: Minimizar la visibilidad de los secretos del objeto.
- Modularización: Dividir la aplicación en módulos más pequeños.
- Encapsulación: Combinar características y comportamiento en una clase.
- Cohesión: Medida de la relación entre las responsabilidades de una clase.
- Acoplamiento: Medida de la relación entre clases y paquetes.
UML - Paquetes, Clases, Interacción
- Paquetes/Espacios de nombres: Agrupan elementos relacionados.
- Diagramas de interacción: Describen cómo colaboran los objetos.
- Diagramas de secuencia: Muestra el orden temporal de las interacciones.
- Diagramas de colaboración: Muestra la estructura del sistema.
Relaciones entre clases
- Asociación: Conexión estructural entre los objetos.
- Asociación unidireccional/bidireccional: La dirección del sentido de la asociación.
- Multiplicidades: Número de instancias de una clase relacionadas con otra instancia.
Agregación y Composición
- Agregación: Relación entre un todo y sus partes. El componente puede existir independientemente.
- Composición: Relación entre un todo y sus partes. El componente no puede existir sin el todo.
Dependencia
- Relación entre cliente y proveedor de servicios.
- Cliente solicita un servicio.
- Servidor provee el servicio.
Clases de asociación: Roles y Constraints
- Roles: Nombre de un extremo de la asociación.
- Constraint: Condiciones que se deben cumplir para el modelo.
- Stereotypes: Clasificación secundaria de objetos.
- Notas: Información adicional que acompaña al modelo.
Clean Code
- El código debe ser eficiente, fácil de leer, cambiar y probar.
- Selección de nombres: Los nombres de las variables deben ser explícitos.
- Reglas: Consejos para la selección de nombres de clases, métodos, etc.
Funciones
- Debe tener una sola responsabilidad.
- Debe expresarse con concisión.
- Ideales entre 0 y 2 parámetros.
- Evitar booleanos como parámetros.
Formateo
- Importante para la legibilidad.
- Aspectos visuales de las clases y estructuras de datos.
- Manejo de errores.
- Manejo de fronteras y Tests
Refactoring
- Reestructuración de código para mejorar el diseño sin cambiar la funcionalidad.
- Motivos y beneficios de aplicar refactoring.
- Condiciones para aplicar refactoring.
Patrones de Diseño
- Clasificación de patrones en creacionales, estructurales y comportamentales.
- Describir casos de uso de cada patrón con ejemplos concretos.
- Ventajas y desventajas de aplicar cada patrón.
GRASP
- Patrones generales de asignación de responsabilidades en el DOO
- Experto, Creador, Controlador, Bajo Acoplamiento, Alta Cohesión, Fabricación Pura e Indirección.
Conceptos y principios de diseño SOLID
- Principios de diseño software que facilitan la construcción de sistemas robustos y mantenibles.
- Explicación de principios individuales (SRP, OCP, LSP, ISP, DIP).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este resumen abarca los principales conceptos del curso de Diseño de Aplicaciones 1 de la Universidad ORT Uruguay. Se exploran temas de programación orientada a objetos y diagramas UML, esenciales para entender la construcción de software modular y eficiente. Ideal para preparar el examen y repasar los temas principales cubiertos en clase.