Resumen de Diseño de Aplicaciones 1
24 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es la función principal del patrón Builder?

  • Mantener un conjunto de algoritmos
  • Definir el esqueleto de un algoritmo
  • Proporcionar una interfaz unificada para subsistemas
  • Separar la creación de un objeto de su representación (correct)
  • El patrón Template Method permite modificar algoritmos de manera compleja.

    False

    ¿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.

    <p>Fachada</p> Signup and view all the answers

    Relaciona los patrones de diseño con su descripción:

    <p>Builder = Separar la creación de un objeto de su representación Template Method = Definir el esqueleto de un algoritmo Strategy = Elegir algoritmos dinámicamente Fachada = Interfaz unificada para subsistemas</p> Signup and view all the answers

    ¿Qué patrón ayuda a reducir la complejidad y dependencias entre subsistemas?

    <p>Fachada</p> Signup and view all the answers

    Un Director en el patrón Builder tiene el control total de la creación de un objeto.

    <p>True</p> Signup and view all the answers

    Menciona un escenario en el que se aplique el patrón Fachada.

    <p>Cuando se necesita proporcionar una interfaz simple para un subsistema complejo.</p> Signup and view all the answers

    ¿Cuál es la clasificación de los patrones de diseño?

    <p>Creacionales, Comportamiento, Estructurales</p> Signup and view all the answers

    El patrón Singleton permite que una clase tenga múltiples instancias.

    <p>False</p> Signup and view all the answers

    ¿Qué hace el patrón Builder?

    <p>Permite la creación de objetos complejos a partir de un objeto fuente.</p> 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.

    <p>Builder</p> Signup and view all the answers

    ¿Cuál es una de las ventajas del patrón Builder?

    <p>Reduce el acoplamiento</p> Signup and view all the answers

    El patrón Composite se utiliza únicamente con el patrón Builder.

    <p>False</p> Signup and view all the answers

    ¿Qué rol desempeña el Director en el patrón Builder?

    <p>Construye un objeto usando el patrón Builder.</p> Signup and view all the answers

    Relacione los términos con sus descripciones:

    <p>Singleton = Garantiza una única instancia de una clase Builder = Abstrae la creación de objetos complejos Director = Construye objetos complejos Producto = El objeto complejo bajo construcción</p> Signup and view all the answers

    ¿Cuál es el principio que establece que una clase debe tener una única razón para cambiar?

    <p>Principio de responsabilidad única</p> Signup and view all the answers

    El Principio de Abierto-Cerrado establece que un módulo debe ser cerrado para la extensión.

    <p>False</p> Signup and view all the answers

    ¿Qué asegura el Principio de Sustitución de Liskov?

    <p>Que las referencias a clases base puedan usar objetos de clases derivadas sin problemas.</p> 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 __________.

    <p>inversión de dependencias</p> Signup and view all the answers

    Relaciona cada principio con su descripción correspondiente:

    <p>Responsabilidad única = Una clase debe tener solo una razón para cambiar Abierto-cerrado = Un módulo debe ser abierto para la extensión, cerrado para la modificación Sustitución de Liskov = Permite sustituir subclases por clases base sin alterar el comportamiento del programa Segregación de interfaz = Define la funcionalidad de un componente en una interfaz separada de su implementación</p> Signup and view all the answers

    ¿Cuál de los siguientes principios enfatiza la separación entre la interfaz y la implementación?

    <p>Principio de segregación de interfaz</p> Signup and view all the answers

    La cohesión baja se relaciona generalmente con tener múltiples responsabilidades en una clase.

    <p>True</p> Signup and view all the answers

    ¿Qué representa el Principio de Dependencias Acíclicas?

    <p>La estructura de dependencia entre paquetes debe formar un grafo dirigido y acíclico.</p> Signup and view all the answers

    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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser