Cuestiones
ayuda
option
Mi Daypo

TEST BORRADO, QUIZÁS LE INTERESEDSS

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del test:
DSS

Descripción:
DSS test. NI DE COÑA ESTÁN TODAS BIEN (la mayoria sí)

Autor:
santiac01
(Otros tests del mismo autor)

Fecha de Creación:
04/06/2022

Categoría:
Informática

Número preguntas: 151
Comparte el test:
Facebook
Twitter
Whatsapp
Comparte el test:
Facebook
Twitter
Whatsapp
Últimos Comentarios
cubi1234 ( hace 9 meses )
Tipo test, espero que tengas mi espalda porque Dios sabe que GOF no la tiene.
Responder
Temario:
¿Qué mide el rendimiento (performance) de un sistema? El tiempo de respuesta. El tiempo que el sistema está funcionando. El tiempo que el sistema funciona sin fallos.
¿Cuándo es recomendable usar el patrón Data Mapper? Cuando el modelo de dominio es simple. Cuando el modelo de dominio es complejo. Cuando el sistema usa una base de datos orientada a objetos.
¿Cuál de las siguientes afirmaciones sobre el patrón Remote Facade es FALSA? Las fachadas remotas no deben contener lógica de dominio. Las fachadas remotas no deben tener estado. Las fachadas remotas deben ofrecer un único método para acceder a todas las propiedades de un objeto.
En el patrón Model-View-Controller, cuando hay una serie de operaciones comunes que se deben realizar para cada petición del usuario, es conveniente usar el patrón: Page Controller. Front Controller. Application Controller.
¿Cuál de los siguientes patrones no se aplica a la capa de dominio? Transaction Script. Table Module. Table Data Gateway.
Al usar el patrón Transaction Script: Cada procedimiento creado es independiente del resto de capas del sistema. Surgen dos tipos de procedimientos: los que acceden a la base de datos y los que se comunican con el resto de capas del sistema. Cada procedimiento representa una acción que el usuario puede ejecutar.
En una arquitectura de 3 capas, ¿cómo se relacionan las capas de dominio y presentación? La capa de dominio nunca debe depender de la capa de presentación. La capa de presentación nunca debe depender de la capa de dominio. Nunca deben estar relacionadas.
Al usar el patrón Active Record, ¿dónde debe situarse el código para acceder a la base de datos? En el controlador del sistema. En clases especializadas para el acceso a datos. En las clases (objetos) de dominio.
¿Cuál es la diferencia entre los patrones Table Module y Domain Model? Table Module pertenece a la capa de acceso a datos, y Domain Model a la capa de lógica de dominio. Normalmente, con Table Module hay un objeto por cada tabla, mientras que con Domain Model hay un objeto por cada fila de la tabla. Las dos son ciertas.
¿En qué capa se deben situar las operaciones complejas? En la capa de dominio. En la capa de servicio. En la capa de presentación.
¿Qué patrón podemos usar para mantener la consistencia cuando se modifican dos instancias de un mismo objeto desde distintas partes del sistema? Unit of Work. Identity Map. Lazy Load.
¿Cuál de las siguientes responsabilidades NO corresponden a la capa de presentación? Comunicarse con capas superiores para ofrecer funcionalidades complejas. Gestionar la interacción del usuario. Comunicarse con la capa de dominio para notificar los datos modificados por el usuario.
En una arquitectura en capas, ¿qué capas pueden verse afectadas por una nueva funcionalidad? Solamente la capa de dominio. Solamente la capa de presentación. Puede haber varias capas afectadas.
El uso de interfaces de grano fino mejora el rendimiento de los sistemas distribuidos Verdadero. Falso. Sólo si el diseño es orientado a objetos.
¿Con qué patrón de lógica de dominio se combina normalmente el patrón Row Data Gateway? Table Data Gateway. Domain Model. Transaction Script.
Para que un diseño de clases sea más fácil de entender y usar, la cohesión debe ser Baja Alta La cohesión no influye.
¿Qué patrón está pensado para poder intercambiar distintos comportamientos en tiempo de ejecución? Strategy Proxy Builder.
¿Cuál de los siguientes patrones NO es de comportamiento? Observer Proxy Command.
El uso del patrón GRASP Creador implica: Disminuye el acoplamiento entre clases. Aumenta el acoplamiento entre clases. No afecta al acoplamiento entre clases.
¿Qué inconveniente tiene el uso del patrón Composite? El cliente no distingue entre clases simples y compuesta. No permite añadir nuevas clases simples. Resulta complicado imponer restricciones sobre la estructura de los objetos compuestos.
¿Qué inconveniente tiene el uso del patrón Abstract Factory? Los productos de distintas familias comparten el mismo interfaz. No es fácil añadir nuevos productos. Para el cliente no es fácil seleccionar la familia de productos a crear.
¿Con qué patrón podemos reducir el acoplamiento entre dos partes de un sistema, cuando una parte usa un conjunto de clases de la otra? Composite Facade Proxy.
¿Qué ventaja tiene el patrón Builder? El director no necesita conocer los pasos del proceso de construcción. Cada constructor tiene un interfaz distinto. Permite crear distintos productos siguiendo el mismo proceso.
¿Cuál es la principal motivación de los patrones GRASP? Crear modelos que no cambiarán a lo largo del proyecto. Identificar las clases del modelo de dominio que se comunican con el resto del sistema Proteger al sistema frente a posibles variaciones.
En el patrón Command, ¿qué información necesitan los comandos para ejecutarse? Qué clase ha instanciado la acción. Qué clase ha invocado la acción. Qué clase es la receptora de la acción.
Qué patrón sería más adecuado para llevar un recuento del número de veces que se llama a cada método de un objeto? Strategy. Observer Proxy.
En el patrón Observer, ¿qué rol es el encargado de llevar un registro de los objetos que deben ser notificados cuando hay un cambio? Subject. Observer. Client.
Cuál de los siguientes tipos de asociación implica un menor grado de acoplamiento Uso. Herencia. Implementación de interfaces.
El patrón GRASP indirección implica: Relacionar dos clases mediante otra intermedia. Favorecer las relaciones directas entre clases. Asignar menos responsabilidades a las clases que hay en la frontera con otras capas.
Asignar menos responsabilidades a las clases que hay en la frontera con otras capas. Lo más bajo posible. Lo más alto posible. El acoplamiento no influye.
Según el patrón GRASP Creador, la clase A debe ser la encargada de crear una instancia de la clase B si: A contiene o agrega instancias de B. B usa instancias de A. Las dos son ciertas.
¿Qué patrón GOF permite crear estructuras jerárquicas de objetos, de forma que el cliente pueda manejar objetos simples o compuestos indistintamente? Builder. Strategy. Composite.
¿Cuál es la diferencia entre los patrones de diseño y los frameworks? Los Frameworks se basan en uno o varios patrones para solucionar problemas concretos. Los patrones usan frameworks para ofrecer soluciones reutilizables Ninguna, los frameworks se usan para el diseño detallado de un sistema.
El patrón GOF Abstract Factory: Provee un interfaz para crear familias de productos de forma consistente Permite controlar el número de instancias de los objetos que se crearán. Disminuye notablemente el número de clases del sistema.
¿Cuál de las siguientes afirmaciones es CIERTA? Para que un diseño sea fácil de mantener y usar: Debemos mantener un bajo acoplamiento y una baja cohesión. Debemos mantener un alto acoplamiento y una baja cohesión. Debemos mantener un bajo acoplamiento y una alta cohesión.
Los objetos Data Transfer Object: Solamente pueden contener datos de un objeto de dominio para garantizar la consistencia. Pueden contener datos de varios objetos de dominio para mejorar el rendimiento. No deben contener datos de los objetos de dominio para aumentar la cohesión.
Cuando se desea simplificar el acceso a un subsistema o capa, ¿qué patrón GOF es el más indicado? Strategy. Proxy Facade.
¿A qué nos referimos normalmente cuando hablamos de la arquitectura de un sistema? A la infraestructura de hardware que dará soporte al sistema. A los principales componentes del sistema y sus relaciones. A la estructura de bajo nivel de cada componente del sistema.
El acoplamiento entre clases es una medida de: El grado de dependencia entre las clases del sistema. Cuantas funcionalidades distintas se asigna a cada clase. Cuantas clases intermedias hay que recorrer para llegar de una clase A a otra B.
Las clases de diseño que surgen como resultado del patrón Fabricación Pura suelen aparecer: Para representar objetos de dominio. Por descomposición funcional, para dividir responsabilidades. Por la aparición de jerarquías de herencia.
¿Cuál es la principal ventaja de usar patrones GOF a la hora de diseñar un sistema? Permite disminuir el número de clases del sistema. Hace que el sistema sea más fácil de comprender, a cambio de disminuir las posibilidades de reutilización de código. Aumenta la flexibilidad del sistema frente a futuros cambios.
¿Cuáles son las capas típicas de un sistema de 3 capas? Acceso a datos, servicio y lógica de dominio. Servicio, lógica de dominio y presentación. Acceso a datos, lógica de dominio y presentación.
Qué problema pretende evitar el patrón Lazy Load? Problemas de integridad referencial al cargar objetos relacionados Problemas de rendimiento al cargar objetos relacionados. Problemas por el uso excesivo de herencia en la lógica de dominio.
Cuándo conviene aplicar el patrón GRASP “Experto en Información” en cascada? Cuando queremos prevenir la aparición de nuevas dependencias entre clases Cuando queremos romper intencionadamente la encapsulación de información. Cuando queremos traspasar datos de la lógica de negocio a la capa de acceso a datos.
Qué tipo de acoplamiento debemos evitar para facilitar los cambios de tecnología en la capa de presentación? Que la capa de presentación tenga como dependencias clases de la capa de lógica de negocio. Que la capa de lógica de negocio tenga como dependencias clases de la capa de presentación. Que las clases de la capa de presentación tengan dependencias entre sí.
¿Qué ventaja NO podemos conseguir con el patrón GOF “Proxy”? Controlar el acceso a un objeto. Simular un objeto remoto de forma local. Proporcionar una implementación alternativa para un objeto.
Quién debe ser el encargado de crear los objetos de transferencia de datos (DTO)? El objeto de dominio que contiene los datos. Un objeto proxy que ocupa el lugar del DTO. Un objeto Assembler que tiene acceso a los objetos de dominio.
¿Qué tipo de interfaces son deseables para llamadas entre objetos distribuidos? Interfaces sin estado. Interfaces de grano fino. Interfaces de grano grueso.
Qué patrón es más recomendable para añadir nuevas funcionalidades a un objeto? Decorator Composite Adapter.
Un lenguaje específico de dominio (DSL)… Se construye a partir de un diagrama de clases UML. Puede representar todo o una parte del dominio para el que está construido. Es menos abstracto que un lenguaje de propósito general.
¿En qué se basa el patrón GRASP “Polimorfismo”? Las instancias de clases hijas se pueden comportar como si se tratase de la clase padre. Las instancias de una clase padre se pueden comportar como si se tratase de una clase hija La introducción de una jerarquía de herencia disminuye el acoplamiento.
Los objetos de transferencia de datos (DTO)… Se usan para pasar información entre distintas capas. Contienen los métodos CRUD que se comunican con la base de datos. Pueden contener tanto datos como métodos de lógica de negocio.
En una arquitectura de tipo Microkernel… La escalabilidad es alta debido al pequeño tamaño del núcleo. Cada plugin debe tener una interfaz independiente de las demás. Se pueden añadir nuevas funcionalidades en tiempo de ejecución.
En una arquitectura en capas abiertas… Se permite que las capas inferiores se comuniquen con las superiores. Las capas superiores pueden saltarse algunas de las capas inferiores. Se define una capa de servicio que puede ser usada opcionalmente por la capa de lógica de negocio.
Con qué patrón podemos recibir notificaciones cuando cambia el estado de un objeto? Adapter. Observer. Command.
En el patrón GOF “Factory Method”, la clase Creator proporciona una funcionalidad genérica independientemente del tipo de producto que se quiera crear. Verdadero. Falso, esa responsabilidad corresponde a la clase ConcreteCreator. Falso, esa responsabilidad corresponde a la clase ConcreteProduct.
¿En qué consiste el patrón GRASP “Indirección”? Invertir el flujo de llamadas entre dos clases, facilitando así la automatización de pruebas. Separar un conjunto grande de responsabilidades en dos clases distintas, favoreciendo así la cohesión. Asignar una responsabilidad a una clase intermedia, desacoplando así dos clases del sistema.
En el patrón GOF “Builder”, ¿qué clases debe conocer la secuencia de pasos necesaria para construir un producto? La clase Builder. La clase ConcreteBuilder. La clase Director.
¿Qué beneficio obtenemos al usar patrones de software? Disminuye la complejidad de los diseños. Se reduce la cantidad de código que hay que crear. Se simplifica la introducción de nuevas funcionalidades en el futuro.
¿Cuál de los siguientes tipos de acoplamiento es más fuerte? Cuando hay una jerarquía de herencia. Cuando una clase implementa un interfaz. Cuando una clase recibe una lista de instancias de otra clase como parámetro en un método.
¿Con qué otro patrón GRASP está relacionado el patrón “Creador”? Bajo acoplamiento, ya que disminuye el número de dependencias del sistema. Alta cohesión, ya que aumenta la cohesión de la clase creadora. Controlador, ya que la clase creadora puede controlar a la clase creada.
¿En qué se diferencian un modelo de dominio y un diagrama de diseño de clases? El modelo de dominio se deriva a partir del diagrama de diseño de clases. El diagrama de diseño de clases se deriva a partir del modelo del dominio. El modelo de dominio asigna responsabilidades a las clases, mientras que el diagrama de diseño de clases únicamente identifica las relaciones entre clases.
¿En qué caso está más indicado aplicar el patrón GRASP “Creador”? Cuando queremos limitar el número de instancias de la clase creada. Cuando la creación de instancias sigue una lógica condicional. Cuando queremos almacenar instancias del objeto creado.
Cuándo es necesario introducir una clase “Fabricación Pura”? Cuando queremos una clase intermediaria para desacoplar dos clases ya existentes. Cuando el aumento de responsabilidades de una clase pone en peligro su cohesión. Cuando necesitamos aplicar el patrón “Experto en información” en cascada.
¿Qué patrón GOF permite implementar de forma sencilla la funcionalidad “deshacer”? Proxy. Command. Strategy.
¿Cuándo es preferible usar una clase Factoría en lugar de aplicar el patrón GRASP Creador? Cuando el tipo concreto del objeto a crear depende de un conjunto de condiciones Cuando se debe inicializar el objeto en el momento de su creación. Cuando el objeto creador debe almacenar los objetos creados.
¿Qué problema se puede derivar de un excesivo acoplamiento en el diseño de un sistema? Cada clase asume demasiadas responsabilidades Los cambios en una clase pueden afectar a un gran número de clases distintas Ninguno, si el acoplamiento no es entre clases de distintas capas.
¿Qué patrón de lógica de negocios permite agrupar cada funcionalidad del sistema en un único método? Domain Model. Table Data Gateway. Transaction Script.
¿Cuál es el principal problema del patrón “Class Table Inheritance”? Es difícil usar un campo identificador único para todas las subclases. Las operaciones join necesarias pueden afectar al rendimiento. Las columnas que no usan todas la subclases desperdician espacio en la base de datos.
¿Cuándo es necesario dividir una clase en dos o más clases distintas? Cuando aplicamos el patrón “Experto en información” en cascada Cuando el acoplamiento de la clase es demasiado alto. Cuando la cohesión de la clase es demasiado baja.
Con qué patrones GRASP está relacionado el patrón GOF Facade? Controlador y bajo acoplamiento. Controlador y experto en información. Bajo acoplamiento y experto en información.
Qué información contiene un objeto Data Transfer Object? Con qué Fachada Remota debe comunicarse el cliente para recuperar los datos. Reglas para transformar un objeto del modelo de dominio a representación textual. Datos de uno o más objetos del modelo de dominio.
¿Qué técnica de diseño de interfaces consiste en realizar un diseño separado de un sitio web para dispositivos móviles? Adaptive web design. Responsive web design. Device-oriented web design.
En qué situación NO podemos reemplazar una jerarquía de herencia por una solución distinta en la composición? Cuando la herencia se usa únicamente para heredar un comportamiento. Cuando necesitamos usar el polimorfismo. Cuando las clases hijas sobreescriben métodos de la clase padre.
En el patrón State, ¿qué clase es la encargada de decidir cuál es el siguiente estado cuando hay un cambio de estado? Solamente la clase Context puede tener esa información. Puede ser la clase Context o la clase ConcreteState. Ninguna de las clases implicadas en el patrón deberían tomar esa decisión.
Qué técnica podemos usar para evitar acoplar una clase con la implementación concreta de una funcionalidad? Inversión de dependencias. Inyección de dependencias. Inversión de control.
En una arquitectura en capas, ¿por qué la capa de lógica de negocio se sitúa por encima de la capa de acceso de datos? No es necesario, al ofrecer normalmente las mismas funcionalidades se puede intercambiar su orden. Para evitar que la capa de acceso a datos acceda directamente a la capa de servicios. Para desacoplar a las capas superiores de los detalles de acceso a la base de datos.
Cuál de las siguientes NO es una ventaja de usar un framework arquitectural? Podemos cambiar fácilmente la arquitectura del sistema. Proporciona una infraestructura que podemos extender con comportamiento personalizado. Establece las reglas mediante las que deben interactuar los componentes del sistema.
Según el principio de inversión de dependencias... Los módulos de bajo nivel no deben depender nunca de abstracciones. Los módulos de alto nivel no deben depender nunca de abstracciones. Los módulos de alto y bajo nivel deben depender de abstracciones.
Qué objetos colaboran con el Front Controller para realizar comprobaciones de seguridad? Middleware. Router. Application Controller.
¿Qué patrón de capa de presentación es más adecuado cuando una sola interfaz presenta información de muchos objetos distintos? Model View Controller. Model View Presenter. Model View ViewModel.
Queremos desarrollar una aplicación de escritorio para gestionar colecciones de música, con la posibilidad de que otras personas puedan extender sus funcionalidades una vez publicada ¿Qué patrón arquitectural sería el más adecuado? Arquitectura orientada a eventos. Tuberías y filtros. Microkernel.
En una aplicación web, ¿en qué objetos de la capa de presentación se deben hacer transformaciones sobre los datos de entrada que afecten a varias funcionalidades(rutas) distintas? Middleware. Router. Application Controller.
Al implementar el patrón Composite, ¿en qué clase deben estar los métodos que permiten gestionar los componentes de los objetos compuestos para evitar un uso incorrecto de estos métodos? <<Composite>> <<Component>> <<Leaf>>.
¿Que patrón de lógica de negocios permite implementar funcionalidades que involucran a varias entidades distintas (tablas en la base de datos) en los métodos de una misma clase? Table Module. Domain model. Transaction Script.
¿Qué arquitectura divide los sistemas en pequeños componentes independientes para favorecer la escalabilidad? Microservicios Arquitectura en capas. Tuberías y filtros.
¿Qué patrón ORM sirve para evitar tener objetos duplicados en memoria al recuperar datos de la base de datos? Unit of work. Identity map. Lazy load.
¿Cuál es el principal propósito de los sistemas de rejillas para diseño responsive? Favorecer el uso de etiquetas semánticas.. Facilitar el posicionamiento y organización del contenido de las páginas. Evitar el uso de media queries para el posicionamiento.
¿Cuándo una clase necesita una instancia de otra, ¿qué nombre recibe la técnica que consiste en pasarle esa instancia desde fuera en ligar de crearla dentro de la case? Inversión de control. Inversión de dependencias. Inyección de dependencias.
En una arquitectura en capas, ¿con qué capa no debería comunicarse nunca la capa de presentación? Acceso a datos. Servicios. Lógica de negocio.
¿Qué patron ORM para mapear la herencia implica que hay que realizar un join de varias tablas para recuperar todos los datos de un objeto? Single table inheritance. Concrete table inheritance. Class table inheritance.
Cuál de los siguientes tipos de acoplamiento es más débil? Cuando hay una jerarquía de herencia. Cuando una clase implementa una interfaz. Cuando una clase recibe una lista de instancias de otra clase como parámetro en un método.
Al usar un objeto ServiceLocator para inyección de dependencias… El cliente solicita directamente las dependencias al ServiceLocator. El cliente solicita las dependencias al objeto Assembler, que las inyecta al ServiceLocator. El ServiceLocator inyecta las dependencias en el cliente a través de su constructor.
¿Qué patrón junta en los mismos objetos la lógica de negocio con la lógica de acceso a datos? Active Record. Data Access Gateway. Domain Model.
¿Qué mecanismos de inyección de dependencias se pueden usar de forma conjunta? Service Locator e inyección en el constructor. Service Locator e inyección con métodos setter. Inyección en el constructor y con método setter.
¿Qué patrones de lógica de negocio necesitan combinarse normalmente con una capa de servicios para implementar funcionalidades complejas? Table Module y Domain Model. Transaction Script y Table Module. Transaction Script y Domain Model.
Qué responsabilidad NO corresponde a la capa de presentación? Mostrar el resultado de ejecutar la lógica de negocio. Activar funcionalidades de capas inferiores. Alojar funcionalidades de alto nivel que no encajan en ninguna clase del modelo de dominio.
¿Cuál de las siguientes afirmaciones sobre la arquitectura en capas es FALSA? La separación en capas favorece un diseño de capas individuales con menor cohesión. La comunicación entre capas disminuye el rendimiento de la aplicación. La separación den capa poco acopladas facilita el diseño de pruebas automatizadas.
GRASP es el acrónimo de patrones generales de software para la asignación de responsabilidades. Con respecto a dicha responsabilidades, ¿Cuáles de las siguientes afirmaciones es falsa? Los métodos se implementan para cubrir responsabilidades. Cada responsabilidad se traduce en un método que se debe asignar alguna clase software. Los métodos pueden colaborar con otros métodos u objetos para cubrir una determinada responsabilidad.
¿Cuál de las siguientes afirmaciones relacionadas con la herencia es verdadera? La herencia escala bien cuando aumenta el número de variaciones del sistema. Siempre que tenemos una jerarquía de herencia, es posible sustituirla por una agregación o composición (delegación), lo cual aumenta la flexibilidad del sistema. La herencia mejora el acoplamiento del sistema.
¿Cuál de los siguientes efectos se puede deber al alto acoplamiento entre clases? Mayor cohesión de las clases fuertemente acopladas. Mayor facilidad de reuso. Alta probabilidad de propagación inadvertida de errores ante modificaciones en el código.
Con qué patrón GOF se relaciona el patrón GRASP controlador? Fachada. Fabricación pura Factory Method.
Cuáles de estas clases es más probable que requieran la aplicación de un patrón singletón? Los comandos de un patrón command. Los componentes de un patrón composite. Las factorías completas de un patrón abstract factory.
Hemos implementado un sistema al que queremos añadir ahora la posibilidad de leer una serie de datos de configuración desde distintas fuentes, como por ejemplo ficheros XML, base de datos, etc. ¿Qué patrón GOFT se adapta mejora este problema? Command. Strategy. Facade.
Nos han pedido diseñar un sistema de aprendizaje... En el, vamos a tener distintos objetos de aprendizaje que se deben instanciar en función del nivel de experiencia del alumno (De momento tres: K12, Adulto, Profesional). ¿Qué patrón aplicarías para solucionar este problema de manera flexible y extensible a nuevos niveles de experiencia? (e.g alumnos universitarios). Builder. Abstract Factory. Proxy.
En el sistema de aprendizaje uno de los requisitos es la construcción de guías docentes. Estas guías están compuestas de un contexto, una serie de objetivos, contenidos, una descripción de la metodología docente, un cronograma, y unos criterios de evaluación. ¿Qué patrón GOFT es el más adecuado para diseñar esta construcción? Builder. Factory method. Abstract factory.
La clase fachada del patrón fachada. Se limita a transmitir invocaciones desde el exterior hacia los objectos del sistema que oculta, preservando la interfaz de estos últimos. Realiza la adaptación entre su interfaz y la interfaz de los objetos del sistema que este oculta Es una clase abstracta de la que heredan las fachadas concretas de cada componente interno del sistema.
El patrón builder se utiliza para... Permitir la variación de la representación interna de un producto Simplificar el código cliente que crea objetos complejos. Todas son ciertas.
En patrón OBSERVER La clase SUBJECT debe tener acceso de algún modo a los datos del OBSERVER. La clase OBSERVER debe tener acceso de algún modo a los datos del SUBJECT. No existe ningún acoplamiento entre las clases SUBJECT Y OBSERVER.
El patrón Abstract Factory contribuye a preservar el principio OPEN-CLOSED de Bertrant Merey (Diseños abiertos a la extensión y cerrados al cambio) cuando... El punto más probable de variación supone la adición de nuevas factorías concretas El punto más probable de variación supone la adición de nuevas familias de productos. Los puntos más probables de variación suponen (a) la adición de nuevas familias de producto y/o (b) la adición de nuevas factorías concretas.
¿Qué patrón permite centralizar en una sola clase las comprobaciones comunes en una implementación del patrón MVC (seguridad, personalización, etc.)? Front Controller Page Controller Application COntroller.
¿Qué patrón GOF permite limitar el número de instancias que se crean de una clase? Factory method Singleton Template method.
¿Qué patrón GOF nos permitiría saber cuántas veces hemos accedido a un objeto? Proxy State Strategy.
¿Cuál de los siguientes patrones no se aplica a la capa de lógica de negocio? Transaction Script Table Module Table Data Gateway Domain Model.
¿Cuándo es recomendable utilizar el patrón Transaction Script? Cuando tienes una clase por cada tabla de la base de datos Cuando tienes que representar las relaciones entre las clases Cuando la lógica de negocios es compleja En aplicaciones con poca lógica de negocios.
Al usar el patrón Domain Model: NO es recomendable usarlo cuando la lógica de negocio es compleja Una instancia de un objeto representa una fila o vista de la tabla de la BBDD Tienes una clase por cada tabla de la BBDD Se utiliza para ocultar el acceso a la BBDD.
En el patrón Domain Model, para transformar el modelo de dominio a una estructura de tablas relacional se usa: Active Record cuando primero se diseña el modelo de dominio y luego la BBDD y Data Mapper cuando se parte de una BBDD existente Active Record cuando se parte de una BBDD existente y Data Mapper cuando primero se diseña el modelo de dominio y luego la BBDD Si utilizas el patrón Domain Model no tiene sentido utilizar los patrones Active Record y Data Mapper El patrón Domain Model no puede usarse con BBDD relacionales.
Cuando se usa el patrón Active Record, ¿dónde se sitúa el código de acceso a la BBDD? En el controlador del sistema En las clases especializadas en acceso a datos En los objetos del dominio El patrón elimina la necesidad de una BBDD.
Cuando se usa el patrón Data Mapper: Una capa de mapeadores se encarga de mover datos entre los objetos y la BBDD Los objetos del modelo de dominio son los encargados de guardar sus datos en la BBDD Desaparecen los problemas de transformación de la estructura de objetos a tablas relacionales El patrón elimina la necesidad de una BBDD.
En los modelos ricos... Los métodos set (setters) implementan las reglas de validación La validación se haría en la capa de servicio Los modelos ricos no admiten la lógica de negocio No hace falta realizar validaciones de datos en modelos ricos.
El patrón repositorio... Implementa el acceso a datos en una clase llamada Repositorio Se introduce para evitar dependencias desde capas superiores a la tecnología usada para el acceso a datos Se puede utilizar tanto para modelos anémicos como ricos Todas son correctas.
Los sistemas de mapeo objeto-relacional (ORM) se encargan de: Distribuir la lógica de negocio de las clases Optimizar el SQL y mejorar el rendimiento de las BDD Crear la BBDD a partir de la estructura del modelo de dominio Adaptar la estructura del modelo a la estructura de las BBDD.
El patrón class table inheritance... Usa una única tabla para cada clase en la jerarquía Usa una única tabla para cada clase "hoja" Usa una única tabla para todas las clases Elimina la necesidad de usar identificadores para los objetos.
El patrón concrete table inheritance... Usa una única tabla para cada clase en la jerarquía Usa una única tabla para cada clase "hoja" Usa una única tabla para todas las clases Elimina la necesidad de usar identificadores para los objetos.
El patrón Single table inheritance... Todas son correctas Usa un campo tipo para identificar de qué tipo es la clase Usa una única tabla para todas las clases Es el patrón que se suele usar para mapear la herencia.
Para implementar la autentificación de usuarios en nuestra práctica debemos... Utilizar herencia para identificar los tipos de usuario Implementar en la clase User las funcionalidades que se usan para otorgar a cada tipo de usuario acceso a las pantallas Utilizar clases Permisos y roles para administrar los permisos y tener mayor control sobre lo que pueden hacer los usuarios Todas son falsas.
De qué se encarga la capa de presentación Gestiona la interacción con los usuarios Realiza la comunicación con las capas inferiores Muestra/actualiza la información resultante de las llamadas a la lógica de negocio Todas las anteriores son correctas.
En los patrones MV* la parte del Modelo se encarga de: Gestionar las peticiones Verificar las peticiones Gestionar la comunicación con la BBDD Representar los objetos del modelo de dominio.
En la concepción original del patrón MVC... Cada componente gráfico tiene una vista pero se utilizan controladores comunes Cada componente gráfico tiene una vista y un controlador especifico Cada página de la web tiene una vista y un controlador Toda la web se gestiona a través de la misma vista y controlador.
El patrón Front Controller utiliza un controlador para cada página y el patrón Page Controller utiliza un controlador para gestionar todas las páginas del la web Verdadero Falso.
Los objetos Middleware se encargan de: Comprobar que se registra correctamente la información en la BBDD Seleccionar el controlador apropiado para cada petición Filtrar el contenido que le envía el controlador al modelo Realizar verificaciones y comprobaciones antes de ejecutar el controlador.
Los enrutadores (Routers) se encargan de: Especificar los puertos de acceso al servidor donde se aloja nuestra web Seleccionar el controlador apropiado para cada petición Crear rutas de acceso que los usuarios puedan interpretar Chequear la seguridad de la web.
¿Qué problemas pretende solucionar el patrón MVP frente a MVC? Evitar que las vistas estén acopladas a los modelos Facilitar la reutilización de código Facilitar las pruebas sobre los controladores Todas son correctas.
¿Qué patrón permite que distintas vistas accedan al mismo controlador/presentador? MVC MVP MVVM Ninguno.
El patrón Model-View-ViewModel es recomendable cuando: La seguridad es crucial La ampliación tiene muchos modelos La aplicación tiene mucha interacción en el interfaz Las vistas están acopladas a los modelos.
En las aplicaciones Single Page (SPA): SELECCIONA LA INCORRECTA Nos se recargan las página completas, se recargan partes El servidor genera las vistas usando un patrón MV+ La aplicación se ejecuta en el lado del cliente El servidor tan solo se encarga de servir los datos en formato texto.
Entre las características principales de la Arquitectura de Filtros, NO encontramos: Reusabilidad de componentes Alto acoplamiento entre componentes Facilidad para implementar pruebas unitarias Los filtros actúan como cajas negras.
Una aplicación con una arquitectura Microkernel: Presenta complicaciones a la hora de añadir nuevos componentes Desarrolla Plugins para usarlos en otras aplicaciones Está abierta para extender la funcionalidad pero cerrada para modificar su funcionalidad principal Está cerrada para extender la funcionalidad pero abierta para modificar su funcionalidad principal.
La alta agilidad de la arquitectura Microkernel para añadir nuevos componentes se debe en gran parte: A que los plugins suelen tener dependencias entre ellos y esto facilita la incorporación de nuevos plugins A que pueden añadirse plugins en tiempo de compilación A la utilización del mecanismo "plug-in registry" A que el sistema central "o core" dispone de las funcionalidades comerciales básicas que le permiten adoptar rápidamente los nuevos componentes.
En la arquitectura orientada a eventos: Hay un alto acoplamiento entre los componentes Síncrona, los eventos se envían y reciben en tiempo real El sistema se compone de pequeños componentes que responden a eventos, y de algún mecanismo para gestionar las colas de eventos que se reciben Todas son correctas.
En la arquitectura de Microservicios: Los componentes se ejecutan en máquinas independientes En el caso de que un servicio tenga mayor demanda, se puede ejecutar un número mayor de instancias de ese servicio Normalmente se utiliza HTTP como protocolo de comunicación Todas son correctas.
En la arquitectura de microservicios, selecciona la INCORRECTA: Los servicios internamente pueden tener su propia arquitectura Los servicios se pueden implementar con distintas tecnologías Escalabilidad alta, permite escalar los servicios por separado La naturaleza distribuida no puede presentar problemas de rendimiento.
Con respecto al patrón Remote Facade: Las fachadas remotas contiene la lógica de negocio No se puede utilizar mas de una Fachada Remota para acceder a varios objetos de dominio Los objeto de grano grueso implementan interfaces remotas Los objetos de grano fino implementan interfaces remotas.
Con respecto al Patrón Data Transfer Object: Es obligatoria la utilización de un objeto ensamblador DTO no se despliega a ambos lados del sistema distribuido Una ventaja es la omisión de información que el usuario no requiera No debe ser serializable.
Si en una arquitectura en capas cerrada se define una capa de servicios entre la capa de presentación y la capa de lógica de negocio... La capa de presentación no debe comunicarse directamente con la capa de lógica de negocio. Podemos prescindir de la capa de acceso a datos. La capa de presentación puede comunicarse con las dos capas inferiores (servicios y lógica de negocio).
¿Qué patrón permite reutilizar un mismo objeto para proporcionar datos a distintas vistas? Model View Controller Model View Presenter Code-behind.
¿En qué técnica de programación orientada a objetos se basa el patrón GRASP Polimorfismo? Agregación Composición Herencia.
¿Qué patrón GOF se usa para añadir nuevas funcionalidades a una clase sin modificarla? Strategy Decorator Composite.
¿Qué beneficio podemos obtener al usar el patrón Proxy? Podemos recibir notificaciones sobre el estado de un objeto. Podemos controlar el acceso a un objeto. Podemos deshacer acciones realizadas sobre un objeto.
En el patrón Model View ViewModel (MVVM), ¿qué objeto es el encargado de comunicarse con la capa de lógica de negocio? El objeto Model El objeto ViewModel El objeto View.
¿Cuál de las siguientes responsabilidades corresponde a una clase 'Controlador' GRASP Hacer de intermediario entre dos entidades de dominio Manejar los eventos que llegan a la interfaz Decodificar los parámetros de una petición HTTP.
Denunciar test Consentimiento Condiciones de uso