wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

PDS-

Total questions: 110

Worksheet time: 1hrs 17mins

Name
Class
Date
1.
¿Cuál es el PROPÓSITO de Factory Method?
a)
Proporcionar una interfaz para crear objetos en una superclase, permitiendo que subclases alteren el tipo de objetos a crear.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
2.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Factory Method?
a)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
b)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
c)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
d)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
e)
Controlar el acceso a un recurso compartido evitando instancias duplicadas y variables globales.
3.
Seleccione las VENTAJAS reales de Factory Method.
a)
Evitas un acoplamiento fuerte entre el creador y los productos concretos.
b)
Principio de responsabilidad única. Puedes mover el código de creación de producto a un lugar del programa, haciendo que el código sea más fácil de mantener.
c)
Principio de abierto/cerrado. Puedes incorporar nuevos tipos de productos en el programa sin descomponer el código cliente existente.
d)
Aumenta el acoplamiento fuerte entre componentes.
e)
Garantiza thread‑safety por defecto en todos los entornos.
4.
Seleccione las DESVENTAJAS de Factory Method.
a)
Puede ser que el código se complique, ya que debes incorporar una multitud de nuevas subclases para implementar el patrón. La situación ideal sería introducir el patrón en una jerarquía existente de clases creadoras.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
5.
¿Cuál es el PROPÓSITO de Abstract Factory?
a)
Producir familias de objetos relacionados sin especificar sus clases concretas.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
6.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Abstract Factory?
a)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
d)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
e)
Controlar el acceso a un recurso compartido evitando instancias duplicadas y variables globales.
7.
Seleccione las VENTAJAS reales de Abstract Factory.
a)
Puedes tener la certeza de que los productos que obtienes de una fábrica son compatibles entre sí.
b)
Evitas un acoplamiento fuerte entre productos concretos y el código cliente.
c)
Principio de responsabilidad única. Puedes mover el código de creación de productos a un solo lugar, haciendo que el código sea más fácil de mantener.
d)
Principio de abierto/cerrado. Puedes introducir nuevas variantes de productos sin descomponer el código cliente existente.
e)
Aumenta el acoplamiento fuerte entre componentes.
8.
Seleccione las DESVENTAJAS de Abstract Factory.
a)
Puede ser que el código se complique más de lo que debería, ya que se introducen muchas nuevas interfaces y clases junto al patrón.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
9.
¿Cuál es el PROPÓSITO de Builder?
a)
Construir objetos complejos paso a paso; el mismo proceso puede crear distintas representaciones.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
10.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Builder?
a)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
e)
Controlar el acceso a un recurso compartido evitando instancias duplicadas y variables globales.
11.
Seleccione las VENTAJAS reales de Builder.
a)
Puedes construir objetos paso a paso, aplazar pasos de la construcción o ejecutar pasos de forma recursiva.
b)
Puedes reutilizar el mismo código de construcción al construir varias representaciones de productos.
c)
Principio de responsabilidad única. Puedes aislar un código de construcción complejo de la lógica de negocio del producto.
d)
Aumenta el acoplamiento fuerte entre componentes.
e)
Garantiza thread‑safety por defecto en todos los entornos.
12.
Seleccione las DESVENTAJAS de Builder.
a)
La complejidad general del código aumenta, ya que el patrón exige la creación de varias clases nuevas.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
13.
¿Cuál es el PROPÓSITO de Prototype?
a)
Copiar objetos existentes (prototipos) sin depender de sus clases.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
14.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Prototype?
a)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Controlar el acceso a un recurso compartido evitando instancias duplicadas y variables globales.
15.
Seleccione las VENTAJAS reales de Prototype.
a)
Puedes clonar objetos sin acoplar tu código a sus clases concretas.
b)
Puedes evitar un código de inicialización repetitivo, manteniendo los datos de inicialización en prototipos.
c)
Puedes producir objetos complejos con mayor facilidad.
d)
Obtienes una alternativa a la herencia cuando el caso de uso de subclases no es práctico.
e)
Aumenta el acoplamiento fuerte entre componentes.
16.
Seleccione las DESVENTAJAS de Prototype.
a)
Clonar objetos complejos con referencias circulares puede resultar complicado.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
17.
¿Cuál es el PROPÓSITO de Singleton?
a)
Garantizar una única instancia con punto de acceso global controlado.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
18.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Singleton?
a)
Controlar el acceso a un recurso compartido evitando instancias duplicadas y variables globales.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
19.
Seleccione las VENTAJAS reales de Singleton.
a)
Puedes tener la certeza de que una clase tiene una única instancia.
b)
Obtienes un punto de acceso global a dicha instancia.
c)
El objeto Singleton solo se inicializa cuando se requiere por primera vez.
d)
Aumenta el acoplamiento fuerte entre componentes.
e)
Garantiza thread‑safety por defecto en todos los entornos.
20.
Seleccione las DESVENTAJAS de Singleton.
a)
Vulnera el Principio de responsabilidad única. El patrón resuelve dos problemas al mismo tiempo.
b)
El patrón Singleton puede enmascarar un mal diseño, por ejemplo, cuando los componentes del programa saben demasiado los unos sobre los otros.
c)
El patrón requiere de un tratamiento especial en un entorno con múltiples hilos de ejecución, para que varios hilos no creen un objeto Singleton varias veces.
d)
Puede resultar complicado realizar la prueba unitaria del código cliente del Singleton porque muchos frameworks de prueba dependen de la herencia a la hora de crear objetos simulados (mock objects). Debido a que la clase Singleton es privada y en la mayoría de los lenguajes resulta imposible sobrescribir métodos estáticos, tendrás que pensar en una manera original de simular el Singleton. O, simplemente, no escribas las pruebas. O no utilices el patrón Singleton.
e)
Reduce la cantidad de clases y simplifica la jerarquía.
21.
¿Cuál es el PROPÓSITO de Adapter?
a)
Permitir que objetos con interfaces incompatibles colaboren mediante una capa de adaptación.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
22.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Adapter?
a)
Integrar un servicio existente cuya interfaz no coincide con la esperada por el cliente.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
23.
Seleccione las VENTAJAS reales de Adapter.
a)
Principio de responsabilidad única. Puedes separar la interfaz o el código de conversión de datos de la lógica de negocio primaria del programa.
b)
Principio de abierto/cerrado. Puedes introducir nuevos tipos de adaptadores en el programa sin descomponer el código cliente existente, siempre y cuando trabajen con adaptadores a través de la interfaz cliente.
c)
Aumenta el acoplamiento fuerte entre componentes.
d)
Garantiza thread‑safety por defecto en todos los entornos.
e)
Elimina por completo la complejidad del diseño.
24.
Seleccione las DESVENTAJAS de Adapter.
a)
La complejidad general del código aumenta porque debes introducir un grupo de nuevas interfaces y clases. A veces es más sencillo cambiar la clase de servicio para que coincida con la del resto del código.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
25.
¿Cuál es el PROPÓSITO de Bridge?
a)
Desacoplar una abstracción de su implementación para que ambas varíen independientemente.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
26.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Bridge?
a)
Evitar la explosión N×M de subclases al combinar múltiples abstracciones con múltiples implementaciones.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
27.
Seleccione las VENTAJAS reales de Bridge.
a)
Puedes crear clases y aplicaciones independientes de las plataformas.
b)
El código cliente trabaja con abstracciones de alto nivel. No queda expuesto a los detalles de la plataforma.
c)
Principio de abierto/cerrado. Puedes introducir nuevas abstracciones e implementaciones independientes entre sí.
d)
Principio de responsabilidad única. Puedes concentrar la lógica de alto nivel en la abstracción y los detalles de la plataforma en la implementación.
e)
Aumenta el acoplamiento fuerte entre componentes.
28.
Seleccione las DESVENTAJAS de Bridge.
a)
Puedes complicar el código aplicando el patrón a una clase muy cohesionada.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
29.
¿Cuál es el PROPÓSITO de Composite?
a)
Componer objetos en estructuras de árbol y tratarlos de forma uniforme.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
30.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Composite?
a)
Tratar partes y compuestos de manera uniforme en jerarquías parte‑todo.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
31.
Seleccione las VENTAJAS reales de Composite.
a)
Puedes trabajar con estructuras de árbol complejas con mayor comodidad: utiliza polimorfismo y recursión en tu favor.
b)
Principio de abierto/cerrado. Puedes introducir nuevos tipos de elemento en la aplicación sin descomponer el código existente, que ahora funciona con el árbol de objetos.
c)
Aumenta el acoplamiento fuerte entre componentes.
d)
Garantiza thread‑safety por defecto en todos los entornos.
e)
Elimina por completo la complejidad del diseño.
32.
Seleccione las DESVENTAJAS de Composite.
a)
Puede resultar difícil proporcionar una interfaz común para clases cuya funcionalidad difiere mucho.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
33.
¿Cuál es el PROPÓSITO de Decorator?
a)
Añadir responsabilidades a objetos en tiempo de ejecución envolviéndolos sin herencia.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
34.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Decorator?
a)
Extender comportamiento de forma flexible sin crear subclases para cada combinación.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
35.
Seleccione las VENTAJAS reales de Decorator.
a)
Puedes extender el comportamiento de un objeto sin crear una nueva subclase.
b)
Puedes añadir o eliminar responsabilidades de un objeto durante el tiempo de ejecución.
c)
Puedes combinar varios comportamientos envolviendo un objeto con varios decoradores.
d)
Principio de responsabilidad única. Puedes dividir una clase monolítica que implementa muchas variantes posibles de comportamiento, en varias clases más pequeñas.
e)
Aumenta el acoplamiento fuerte entre componentes.
36.
Seleccione las DESVENTAJAS de Decorator.
a)
Resulta difícil eliminar un wrapper específico de la pila de wrappers.
b)
Es difícil implementar un decorador de tal forma que su comportamiento no dependa del orden en la pila de decoradores.
c)
El código de configuración inicial de las capas pueden tener un aspecto desagradable.
d)
Reduce la cantidad de clases y simplifica la jerarquía.
e)
Facilita el mantenimiento centralizando toda la lógica.
37.
¿Cuál es el PROPÓSITO de Facade?
a)
Proporcionar una interfaz simplificada a un subsistema complejo.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
38.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Facade?
a)
Ofrecer a clientes una entrada simple a librerías o subsistemas con muchas clases y dependencias.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
39.
Seleccione las VENTAJAS reales de Facade.
a)
Puedes aislar tu código del trato con un subsistema complejo.
b)
Aumenta el acoplamiento fuerte entre componentes.
c)
Garantiza thread‑safety por defecto en todos los entornos.
d)
Elimina por completo la complejidad del diseño.
e)
Sustituye la necesidad de pruebas unitarias.
40.
Seleccione las DESVENTAJAS de Facade.
a)
Una fachada puede convertirse en un objeto todopoderoso acoplado a todas las clases de una aplicación.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
41.
¿Cuál es el PROPÓSITO de Flyweight?
a)
Compartir estado intrínseco para soportar eficientemente gran cantidad de objetos de grano fino.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
42.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Flyweight?
a)
Reducir consumo de memoria cuando hay millones de objetos casi idénticos.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
43.
Seleccione las VENTAJAS reales de Flyweight.
a)
Ahorra mucha RAM si tu programa tiene toneladas de objetos similares.
b)
Aumenta el acoplamiento fuerte entre componentes.
c)
Garantiza thread‑safety por defecto en todos los entornos.
d)
Elimina por completo la complejidad del diseño.
e)
Sustituye la necesidad de pruebas unitarias.
44.
Seleccione las DESVENTAJAS de Flyweight.
a)
Es posible que ganes en RAM a expensas del tiempo si tu programa se vuelve muy complicado.
b)
Hace que el código sea mucho más complicado.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
45.
¿Cuál es el PROPÓSITO de Proxy?
a)
Proporcionar un sustituto que controle el acceso a un objeto real (remoto, perezoso, protegido, etc.).
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
46.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Proxy?
a)
Añadir control de acceso, caché, logging o carga diferida sin tocar el servicio real.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
47.
Seleccione las VENTAJAS reales de Proxy.
a)
Puedes controlar el servicio sin que los clientes lo sepan.
b)
Si cuidas de la creación y eliminación del objeto de servicio, los clientes no se enterarán de lo que está pasando.
c)
Abre la posibilidad de introducir nuevos proxies sin cambiar el servicio o los clientes.
d)
Principio de abierto/cerrado. Puedes introducir nuevos proxies sin cambiar el servicio o los clientes.
e)
Aumenta el acoplamiento fuerte entre componentes.
48.
Seleccione las DESVENTAJAS de Proxy.
a)
El código puede complicarse, ya que se debe introducir una gran cantidad de nuevas clases.
b)
La respuesta del servicio puede retrasarse.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
49.
¿Cuál es el PROPÓSITO de Chain of Responsibility?
a)
Pasar solicitudes a través de una cadena de manejadores donde cada uno decide procesar o delegar.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
50.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Chain of Responsibility?
a)
Desacoplar el emisor de una solicitud del receptor concreto y permitir composición dinámica de manejadores.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
51.
Seleccione las VENTAJAS reales de Chain of Responsibility.
a)
Puedes controlar el orden de manejo de las solicitudes.
b)
Principio de responsabilidad única. Puedes desacoplar las clases que invocan operaciones de las clases que las realizan.
c)
Principio de abierto/cerrado. Puedes introducir nuevos manejadores en la aplicación sin descomponer el código cliente existente.
d)
Aumenta el acoplamiento fuerte entre componentes.
e)
Garantiza thread‑safety por defecto en todos los entornos.
52.
Seleccione las DESVENTAJAS de Chain of Responsibility.
a)
No se garantiza el manejo de la solicitud.
b)
Puede ser difícil observar el flujo de una solicitud a través de la cadena.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
53.
¿Cuál es el PROPÓSITO de Command?
a)
Encapsular una petición como objeto para parametrizar, deshacer, registrar y encolar acciones.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
54.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Command?
a)
Necesidad de deshacer/rehacer, colas, macros o registro de acciones desacoplando invocador y receptor.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
55.
Seleccione las VENTAJAS reales de Command.
a)
Principio de responsabilidad única. Puedes desacoplar las clases que invocan operaciones de las que las realizan.
b)
Principio de abierto/cerrado. Puedes introducir nuevos comandos sin cambiar el código cliente existente.
c)
Puedes implementar fácilmente operaciones que se deshacen y se rehacen.
d)
Puedes implementar fácilmente la ejecución diferida de operaciones.
e)
Puedes ensamblar un grupo de comandos sencillos en uno complejo.
56.
Seleccione las DESVENTAJAS de Command.
a)
El código puede complicarse porque estás introduciendo una nueva capa entre los remitentes y los receptores.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
57.
¿Cuál es el PROPÓSITO de Iterator?
a)
Proporcionar una forma de acceso secuencial a los elementos de una colección sin exponer su representación interna.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
58.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Iterator?
a)
Recorrer estructuras diversas de forma uniforme sin revelar su estructura interna.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
59.
Seleccione las VENTAJAS reales de Iterator.
a)
Principio de responsabilidad única. Puedes limpiar el código cliente y las colecciones extrayendo algoritmos de transversal iterativos en clases separadas.
b)
Principio de abierto/cerrado. Puedes implementar nuevos tipos de colecciones e iteradores y pasarlos al código existente sin romper nada.
c)
Puedes iterar sobre la misma colección en paralelo porque cada iterador contiene su propio estado de iteración.
d)
Para una colección, puedes aplazar un algoritmo complejo de transversal hasta que sea necesario.
e)
Aumenta el acoplamiento fuerte entre componentes.
60.
Seleccione las DESVENTAJAS de Iterator.
a)
Si utilizas un iterador simple, no podrás retroceder y recorrer parcialmente otros elementos.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
61.
¿Cuál es el PROPÓSITO de Mediator?
a)
Encapsular la forma en que interactúan un conjunto de objetos, reduciendo dependencias muchos‑a‑muchos.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
62.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Mediator?
a)
Centralizar comunicación compleja entre componentes desacoplándolos entre sí.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
63.
Seleccione las VENTAJAS reales de Mediator.
a)
Principio de responsabilidad única. Puedes extraer las comunicaciones entre varios componentes dentro de un único sitio, haciéndolo más fácil de comprender y mantener.
b)
Principio de abierto/cerrado. Puedes introducir nuevos mediadores sin tener que cambiar los propios componentes.
c)
Puedes reducir el acoplamiento entre varios componentes de un programa.
d)
Puedes reutilizar componentes individuales con mayor facilidad.
e)
Aumenta el acoplamiento fuerte entre componentes.
64.
Seleccione las DESVENTAJAS de Mediator.
a)
Con el tiempo, un mediador puede evolucionar a un objeto todopoderoso.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
65.
¿Cuál es el PROPÓSITO de Memento?
a)
Capturar y restaurar el estado interno de un objeto sin violar su encapsulación.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
66.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Memento?
a)
Implementar deshacer/rehacer o snapshots sin exponer detalles internos.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
67.
Seleccione las VENTAJAS reales de Memento.
a)
Puedes producir instantáneas del estado de un objeto sin violar su encapsulación.
b)
Puedes simplificar el código de cuidado del estado del originador al moverlo a la clase memento.
c)
Aumenta el acoplamiento fuerte entre componentes.
d)
Garantiza thread‑safety por defecto en todos los entornos.
e)
Elimina por completo la complejidad del diseño.
68.
Seleccione las DESVENTAJAS de Memento.
a)
Si tu aplicación crea mementos con demasiada frecuencia, puede consumir una gran cantidad de memoria.
b)
El caretaker debe rastrear el ciclo de vida de los mementos para saber cuándo destruirlos.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
69.
¿Cuál es el PROPÓSITO de Observer?
a)
Definir un mecanismo de suscripción para notificar a múltiples objetos sobre eventos del sujeto observado.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
70.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Observer?
a)
Notificar automáticamente a múltiples dependientes cuando cambia el estado de un sujeto, sin acoplamiento fuerte.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
71.
Seleccione las VENTAJAS reales de Observer.
a)
Principio de abierto/cerrado. Puedes introducir nuevas clases suscriptor sin cambiar el código del publicador (y viceversa).
b)
Puedes establecer relaciones entre objetos durante el tiempo de ejecución.
c)
Aumenta el acoplamiento fuerte entre componentes.
d)
Garantiza thread‑safety por defecto en todos los entornos.
e)
Elimina por completo la complejidad del diseño.
72.
Seleccione las DESVENTAJAS de Observer.
a)
Los suscriptores son notificados en orden aleatorio.
b)
En general, puede aparecer un acoplamiento inesperado entre publicadores y suscriptores.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
73.
¿Cuál es el PROPÓSITO de State?
a)
Permitir que un objeto altere su comportamiento cuando cambia su estado interno.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
74.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar State?
a)
Eliminar condicionales masivos dependientes del estado, encapsulando estados como objetos.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
75.
Seleccione las VENTAJAS reales de State.
a)
Principio de abierto/cerrado. Puedes introducir nuevos estados sin cambiar las clases de estado existentes ni el código del contexto.
b)
Principio de responsabilidad única. Puedes mover distintos comportamientos relacionados con el estado, a objetos separados.
c)
Puedes simplificar el código de contexto eliminando enormes condicionales de máquina de estados.
d)
Aumenta el acoplamiento fuerte entre componentes.
e)
Garantiza thread‑safety por defecto en todos los entornos.
76.
Seleccione las DESVENTAJAS de State.
a)
Si tienes pocos estados y rara vez cambian, puede que el patrón esté sobre-ingenierizado.
b)
Reduce la cantidad de clases y simplifica la jerarquía.
c)
Facilita el mantenimiento centralizando toda la lógica.
d)
Permite introducir nuevas variantes sin cambiar el cliente.
e)
Promueve el principio de abierto/cerrado de forma automática.
77.
¿Cuál es el PROPÓSITO de Strategy?
a)
Definir una familia de algoritmos intercambiables y encapsular cada uno.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
78.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Strategy?
a)
Cambiar el algoritmo de un objeto en runtime sin condicionales e independizar su implementación.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
79.
Seleccione las VENTAJAS reales de Strategy.
a)
Puedes intercambiar algoritmos usados dentro de un objeto durante el tiempo de ejecución.
b)
Puedes aislar los detalles de implementación de un algoritmo del código que lo utiliza.
c)
Puedes sustituir la herencia por composición.
d)
Principio de abierto/cerrado. Puedes introducir nuevas estrategias sin cambiar el contexto.
e)
Aumenta el acoplamiento fuerte entre componentes.
80.
Seleccione las DESVENTAJAS de Strategy.
a)
Si tienes sólo un par de algoritmos y rara vez cambian, no hay necesidad de complicar el programa con nuevas clases e interfaces.
b)
Los clientes deben conocer las diferencias entre estrategias para escoger la más adecuada.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
81.
¿Cuál es el PROPÓSITO de Template Method?
a)
Definir el esqueleto de un algoritmo en una operación, dejando que subclases definan algunos pasos.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
82.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Template Method?
a)
Estandarizar la estructura de un algoritmo y permitir variación en ciertos pasos.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
83.
Seleccione las VENTAJAS reales de Template Method.
a)
Puedes permitir a los clientes extender sólo pasos particulares de un algoritmo, sin cambiar su estructura.
b)
Puedes poner el código duplicado en una superclase.
c)
Aumenta el acoplamiento fuerte entre componentes.
d)
Garantiza thread‑safety por defecto en todos los entornos.
e)
Elimina por completo la complejidad del diseño.
84.
Seleccione las DESVENTAJAS de Template Method.
a)
Algunos clientes pueden verse limitados por el esqueleto del algoritmo.
b)
Puedes violar el principio de sustitución de Liskov si el paso predefinido no encaja con las subclases.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
85.
¿Cuál es el PROPÓSITO de Visitor?
a)
Separar algoritmos de las estructuras de objetos sobre las que operan, permitiendo añadir operaciones sin modificar clases.
b)
Agrupar objetos relacionados en jerarquías parte‑todo tratándolos de forma uniforme.
c)
Permitir notificar a múltiples interesados cuando un sujeto cambie de estado.
d)
Compartir estado común para manejar eficientemente gran cantidad de objetos.
e)
Separar operaciones de las estructuras de datos para agregarlas sin modificar clases.
86.
¿Qué SITUACIÓN-PROBLEMA describe mejor la necesidad de usar Visitor?
a)
Agregar nuevas operaciones sobre una jerarquía estable sin modificar sus clases.
b)
Delegar la creación de objetos sin acoplar el cliente a clases concretas, permitiendo variar productos sin modificar el código cliente.
c)
Necesidad de crear familias de productos compatibles y sustituibles en conjunto.
d)
Inicializar objetos con muchos parámetros opcionales y combinaciones, evitando constructores telescópicos.
e)
Crear muchas instancias similares o costosas de inicializar de forma eficiente.
87.
Seleccione las VENTAJAS reales de Visitor.
a)
Principio de abierto/cerrado. Puedes introducir nuevos comportamientos que puedan funcionar con objetos de diferentes clases sin cambiar dichas clases.
b)
Principio de responsabilidad única. Puedes mover varias versiones de la misma operación al mismo lugar.
c)
Un visitante puede acumular cierta información útil mientras trabaja con varios objetos de la estructura.
d)
Aumenta el acoplamiento fuerte entre componentes.
e)
Garantiza thread‑safety por defecto en todos los entornos.
88.
Seleccione las DESVENTAJAS de Visitor.
a)
Debes actualizar todas las clases visitantes cada vez que una clase se añade o elimina de la jerarquía de elementos.
b)
Los visitantes pueden necesitar acceso a miembros privados de las clases sobre las que operan, lo que puede romper su encapsulación.
c)
Reduce la cantidad de clases y simplifica la jerarquía.
d)
Facilita el mantenimiento centralizando toda la lógica.
e)
Permite introducir nuevas variantes sin cambiar el cliente.
89.
¿A qué CATEGORÍA pertenece Factory Method?
a)
Creacional
b)
Estructural
c)
Comportamiento
90.
¿A qué CATEGORÍA pertenece Abstract Factory?
a)
Creacional
b)
Estructural
c)
Comportamiento
91.
¿A qué CATEGORÍA pertenece Builder?
a)
Creacional
b)
Estructural
c)
Comportamiento
92.
¿A qué CATEGORÍA pertenece Prototype?
a)
Creacional
b)
Estructural
c)
Comportamiento
93.
¿A qué CATEGORÍA pertenece Adapter?
a)
Creacional
b)
Estructural
c)
Comportamiento
94.
¿A qué CATEGORÍA pertenece Decorator?
a)
Creacional
b)
Estructural
c)
Comportamiento
95.
¿A qué CATEGORÍA pertenece Facade?
a)
Creacional
b)
Estructural
c)
Comportamiento
96.
¿A qué CATEGORÍA pertenece Proxy?
a)
Creacional
b)
Estructural
c)
Comportamiento
97.
¿A qué CATEGORÍA pertenece Observer?
a)
Creacional
b)
Estructural
c)
Comportamiento
98.
¿A qué CATEGORÍA pertenece Strategy?
a)
Creacional
b)
Estructural
c)
Comportamiento
99.
¿A qué CATEGORÍA pertenece State?
a)
Creacional
b)
Estructural
c)
Comportamiento
100.
¿A qué CATEGORÍA pertenece Visitor?
a)
Creacional
b)
Estructural
c)
Comportamiento
101.
¿A qué CATEGORÍA pertenece Singleton?
a)
Creacional
b)
Estructural
c)
Comportamiento
102.
¿A qué CATEGORÍA pertenece Bridge?
a)
Creacional
b)
Estructural
c)
Comportamiento
103.
¿A qué CATEGORÍA pertenece Composite?
a)
Creacional
b)
Estructural
c)
Comportamiento
104.
¿A qué CATEGORÍA pertenece Flyweight?
a)
Creacional
b)
Estructural
c)
Comportamiento
105.
¿A qué CATEGORÍA pertenece Chain of Responsibility?
a)
Creacional
b)
Estructural
c)
Comportamiento
106.
¿A qué CATEGORÍA pertenece Command?
a)
Creacional
b)
Estructural
c)
Comportamiento
107.
¿A qué CATEGORÍA pertenece Iterator?
a)
Creacional
b)
Estructural
c)
Comportamiento
108.
¿A qué CATEGORÍA pertenece Mediator?
a)
Creacional
b)
Estructural
c)
Comportamiento
109.
¿A qué CATEGORÍA pertenece Memento?
a)
Creacional
b)
Estructural
c)
Comportamiento
110.
¿A qué CATEGORÍA pertenece Template Method?
a)
Creacional
b)
Estructural
c)
Comportamiento