option
Cuestiones
ayuda
daypo
buscar.php

Cuestionario sobre Patrones GRASP y SOLID

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Cuestionario sobre Patrones GRASP y SOLID

Descripción:
DSM UNIVERSIDAD ALCIANTE TEMA 5

Fecha de Creación: 2026/07/01

Categoría: Otros

Número Preguntas: 48

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Qué significa GRASP en el contexto de los patrones de diseño de software?. General Rules for Applying Software Principles. General Responsibility Assignment Software Patterns. Guided Rules for Application of Simple Programs. General Requirements and Specification Principles.

¿Cuál es el objetivo principal de los patrones GRASP?. Reducir el número de clases en un proyecto. Asignar responsabilidades de manera efectiva a las clases. Aumentar la complejidad del código. Simplificar la interfaz de usuario.

¿Qué patrón GRASP sugiere asignar una responsabilidad a la clase que tiene la información necesaria para realizarla?. Creador. Controlador. Experto en Información. Bajo Acoplamiento.

Según el patrón Creador, ¿cuándo una clase B es un Creador de una clase A?. Cuando B utiliza A. Cuando B contiene objetos de A o los agrega. Cuando B es un atributo de A. Cuando B llama a un método de A.

¿Qué patrón GRASP se enfoca en reducir la dependencia entre clases?. Alta Cohesión. Controlador. Bajo Acoplamiento. Polimorfismo.

¿Qué patrón GRASP se relaciona con la idea de que las clases deben hacer una sola cosa bien?. Experto en Información. Alta Cohesión. Protección de Variaciones. Controlador.

¿Cuál es la principal ventaja de aplicar el patrón Bajo Acoplamiento?. Aumenta la complejidad del sistema. Facilita la reutilización y el mantenimiento. Reduce la necesidad de pruebas. Disminuye la claridad del código.

En el contexto de GRASP, ¿qué significa 'Controlador'?. Una clase que controla el flujo de ejecución del programa. Una clase que gestiona eventos de la interfaz de usuario y delega a la lógica de negocio. Una clase que realiza cálculos complejos. Una clase que almacena datos.

¿Qué patrón GRASP ayuda a manejar alternativas sin usar sentencias condicionales 'if-then' o 'switch'?. Protección de Variaciones. Polimorfismo. Experto en Información. Creador.

¿Qué significa SOLID en el diseño orientado a objetos?. Principios para escribir código seguro y optimizado. Un conjunto de cinco principios para crear software mantenible y escalable. Reglas para la gestión de bases de datos. Técnicas para la depuración de código.

¿Cuál de los siguientes NO es parte de los principios SOLID?. Single Responsibility Principle. Open/Closed Principle. Chain of Responsibility Pattern. Liskov Substitution Principle.

El Principio de Responsabilidad Única (SRP) establece que: Una clase debe tener múltiples razones para cambiar. Una clase debe tener una sola razón para cambiar. Las interfaces deben ser grandes y contener todos los métodos necesarios. El código debe ser cerrado a modificaciones pero abierto a extensiones.

¿Qué significa el Principio Abierto/Cerrado (OCP)?. El código debe ser cerrado a la extensión pero abierto a la modificación. El código debe ser abierto a la extensión pero cerrado a la modificación. El código debe ser cerrado a la extensión y a la modificación. El código debe ser abierto tanto a la extensión como a la modificación.

El Principio de Sustitución de Liskov (LSP) se refiere a: Las subclases deben poder reemplazar a sus superclases sin afectar la correctitud del programa. Las superclases deben poder ser sustituidas por sus subclases. Las clases base no deben tener métodos abstractos. Los subtipos deben tener más funcionalidades que las superclases.

¿Qué es el Principio de Segregación de Interfaces (ISP)?. Las interfaces deben ser grandes y contener muchos métodos. Los clientes no deben ser forzados a depender de métodos que no usan. Las interfaces solo deben contener métodos estáticos. Se deben usar pocas interfaces en un proyecto.

El Principio de Inversión de Dependencias (DIP) sugiere que: Los módulos de alto nivel deben depender de módulos de bajo nivel. Los módulos de bajo nivel deben depender de módulos de alto nivel. Tanto los módulos de alto nivel como los de bajo nivel deben depender de abstracciones. Las dependencias deben ser directas y explícitas.

¿Qué patrón GRASP es una clase artificial creada para agrupar responsabilidades y soportar alta cohesión y bajo acoplamiento?. Controlador. Creador. Fabricación Pura. Experto en Información.

¿Cómo se relacionan GRASP y SOLID?. Son conceptos opuestos y excluyentes. GRASP se enfoca en la asignación de responsabilidades, mientras que SOLID en los principios de diseño para la mantenibilidad. SOLID es una extensión de GRASP. GRASP es solo para diseño de UI y SOLID para lógica de negocio.

¿Cuál de los siguientes es un ejemplo de aplicación del principio 'Experto en Información'?. Una clase `Calculadora` que realiza todas las operaciones matemáticas. Una clase `Usuario` que contiene los datos del usuario y los métodos para validarlos. Una clase `Reporte` que genera diferentes tipos de informes. Una clase `BaseDeDatos` que maneja todas las interacciones con la base de datos.

Si una clase `Vehiculo` tiene subclases `Coche` y `Moto`, y el código cliente siempre usa `Vehiculo`, ¿qué principio SOLID se está aplicando?. Single Responsibility Principle. Open/Closed Principle. Liskov Substitution Principle. Dependency Inversion Principle.

¿Cuál es el problema que intenta resolver el patrón 'Protección de Variaciones' (un patrón GRASP avanzado)?. Cómo crear nuevas clases. Cómo manejar cambios en el software sin modificar el código existente. Cómo asegurar la consistencia de los datos. Cómo optimizar el rendimiento de la aplicación.

Considerando el Principio de Responsabilidad Única (SRP), ¿qué sería incorrecto?. Una clase `Empleado` que gestiona los datos del empleado y también calcula su nómina. Una clase `Impresora` que solo imprime documentos. Una clase `Ventana` que maneja la lógica de la interfaz de usuario. Una clase `ConexionBD` que solo interactúa con la base de datos.

¿Qué patrón GRASP se utiliza cuando una responsabilidad involucra una interacción entre la interfaz de usuario y la lógica de negocio?. Experto en Información. Creador. Controlador. Bajo Acoplamiento.

El Principio Abierto/Cerrado (OCP) se relaciona fuertemente con: La herencia y la composición. El polimorfismo y las abstracciones. La encapsulación. La sobrecarga de métodos.

¿Qué problema resuelve el patrón 'Fabricación Pura' (Pure Fabrication)?. Cómo hacer que las clases sean más dependientes. Cómo asignar responsabilidades a clases que no son conceptuales del dominio pero mejoran el diseño. Cómo reducir el número de métodos en una clase. Cómo implementar herencia múltiple.

El Principio de Segregación de Interfaces (ISP) busca evitar: Clases que implementan demasiadas interfaces. Interfaces muy grandes que obligan a implementar métodos no necesarios. La herencia múltiple. El uso de clases abstractas.

¿Qué patrón GRASP se enfoca en la idea de 'no preguntar, solo actuar' (Tell, Don't Ask)?. Creador. Controlador. Experto en Información. Ninguno de los anteriores directamente, pero se relaciona con encapsulación.

¿Cuál es la principal motivación detrás del principio de Inversión de Dependencias (DIP)?. Aumentar el acoplamiento entre módulos. Reducir el acoplamiento entre módulos, especialmente entre alto y bajo nivel. Simplificar la creación de objetos. Mejorar el rendimiento de la base de datos.

Según GRASP, ¿qué es la 'Indirección'?. El uso de herencia para crear jerarquías de clases. Introducir un objeto intermedio para mediar entre otros objetos y reducir el acoplamiento directo. Un tipo de patrón de comportamiento. La capacidad de un objeto de tomar múltiples formas.

¿Qué patrón SOLID se relaciona más directamente con el polimorfismo?. Single Responsibility Principle. Open/Closed Principle. Liskov Substitution Principle. Interface Segregation Principle.

En el contexto de GRASP, ¿cuál es el principal beneficio de 'Alta Cohesión'?. Mayor independencia entre clases. Clases más pequeñas y fáciles de entender. Reducción de la necesidad de documentación. Mejora de la velocidad de ejecución.

Un ejemplo de violar el Principio de Sustitución de Liskov (LSP) sería: Crear una subclase que añade nuevos métodos públicos. Crear una subclase que implementa todos los métodos abstractos de la superclase. Crear una subclase que restringe el comportamiento esperado de la superclase (ej., una subclase de `Rectangulo` que solo permite lados iguales y se comporta como un `Cuadrado`). Crear una subclase que tiene una relación de composición con la superclase.

¿Cuál es el propósito principal de los 'Controladores de Casos de Uso' en GRASP?. Gestionar la lógica de negocio de todo el sistema. Gestionar eventos específicos de un caso de uso, evitando la baja cohesión en controladores de fachada. Ser responsables de la creación de objetos. Actuar como una fachada global para todo el sistema.

El patrón GRASP 'Experto en Información' y el principio SOLID 'Single Responsibility Principle' comparten el objetivo de: Promover la alta cohesión. Fomentar el bajo acoplamiento. Asegurar la extensibilidad del software. Reducir el número de clases.

¿Qué implicación tiene el Principio de Inversión de Dependencias (DIP) en la creación de objetos?. Se prefiere la creación directa de objetos concretos en el código de alto nivel. Se fomenta el uso de abstracciones (interfaces o clases abstractas) y mecanismos como la Inyección de Dependencias (DI) o fábricas. La creación de objetos debe ser responsabilidad exclusiva de las subclases. Se deben evitar las fábricas para mantener el acoplamiento bajo.

¿Cuál es la relación entre 'Indirección' (GRASP) y 'Inversión de Dependencias' (SOLID)?. Son conceptos mutuamente excluyentes. La Indirección es un mecanismo para lograr la Inversión de Dependencias. La Inversión de Dependencias es un tipo de Indirección. No tienen ninguna relación.

Si una clase tiene métodos para crear, almacenar y enviar emails, ¿qué principio SOLID está violando?. Open/Closed Principle. Liskov Substitution Principle. Interface Segregation Principle. Single Responsibility Principle.

¿Qué patrón GRASP es útil cuando una responsabilidad es muy general y requiere soporte de múltiples clases?. Experto en Información. Creador. Fabricación Pura. Controlador.

El Principio Abierto/Cerrado (OCP) se aplica para: Permitir que el código sea modificado fácilmente. Asegurar que el código existente no se modifique al añadir nuevas funcionalidades. Reducir el número de clases en el sistema. Incrementar el acoplamiento entre módulos.

¿Por qué es importante el Principio de Segregación de Interfaces (ISP) para la testabilidad?. Interfaces más pequeñas permiten crear 'mocks' más fácilmente para probar clases individuales. Interfaces grandes simplifican la creación de 'mocks'. ISP no tiene relación con la testabilidad. Aumenta la dependencia entre clases, facilitando las pruebas de integración.

El patrón GRASP 'Bajo Acoplamiento' se opone conceptualmente a: Alta Cohesión. Controlador. Creador. Alta dependencia entre clases.

Según el Principio de Inversión de Dependencias (DIP), ¿cómo deben interactuar los módulos de alto nivel y bajo nivel?. El alto nivel depende del bajo nivel. El bajo nivel depende del alto nivel. Ambos dependen de abstracciones. Ambos dependen directamente el uno del otro.

¿Qué patrón GRASP se utiliza para delegar la responsabilidad de un evento de la interfaz de usuario a la lógica de negocio?. Experto en Información. Controlador. Creador. Bajo Acoplamiento.

El Principio de Sustitución de Liskov (LSP) se enfoca principalmente en: La estructura de las clases. El comportamiento esperado y los contratos de las clases. La eficiencia de la memoria. La seguridad del código.

Considerando los principios SOLID, ¿qué se busca al aplicar el Principio de Responsabilidad Única (SRP)?. Reducir la complejidad de las clases. Aumentar la cohesión y facilitar el mantenimiento. Crear clases más grandes que manejen múltiples funcionalidades. Fomentar el acoplamiento entre clases relacionadas.

¿Qué patrón GRASP es un ejemplo de 'Indirección'?. Experto en Información. Creador. Adaptador. Controlador.

El Principio de Segregación de Interfaces (ISP) promueve: Interfaces monolíticas y completas. Interfaces específicas y de rol. La implementación de todos los métodos de una interfaz. La dependencia de interfaces gruesas.

¿Cuál es la relación entre GRASP y los patrones de diseño (como los de GoF)?. GRASP y los patrones GoF son lo mismo. GRASP son principios generales de asignación de responsabilidades, mientras que los patrones GoF son soluciones concretas a problemas de diseño recurrentes. GRASP es un tipo de patrón GoF. Los patrones GoF son una extensión de GRASP.

Denunciar Test