B3-T4 Diseño y programación orientada a objetos. Patrones de diseño y lenguaje de modelado unificado (UML). Flashcards
Que es la sobrecarga ?
Dos o más métodos dentro de la misma clase pueden compartir el mismo nombre, siempre que sus declaraciones de parámetros sean diferentes.
ejemplo:
tengo una funcion persona que le paso el nombre y apellido, y otra funcion que tambien se llama persona que le paso el nombre y apellido, y además el lugar de nacimiento. La funcion persona sería una funcion sobrecargada
Si hablamos de UML, que es el OCL ?
Lenguaje formal utilizado en UML para definir restricciones y condiciones en los modelos
Si hablamos de UML, que es INV ? (T)
En UML (Lenguaje Unificado de Modelado), INV se refiere a Invariantes. Los invariantes son condiciones que deben ser siempre verdaderas para un objeto en un momento dado. Se utilizan para definir restricciones en los modelos UML, asegurando que ciertas propiedades del sistema se mantengan constantes a lo largo del tiempo.
Por ejemplo, en un diagrama de clases, un invariante puede especificar que el saldo de una cuenta bancaria nunca puede ser negativo
¿Cuáles son los cuatro elementos de los mecanismos de extensión de UML ?
Estereotipos-Restricciones-Valores etiquetados-Perfiles
+++++++++++++++
Estereotipos: Extienden la semántica de los elementos del modelo. Ejemplo: «UI».
Restricciones: Condiciones o reglas que se imponen a los elementos del modelo. Ejemplo: {ordered}.
Valores etiquetados: Asocian información adicional a los elementos del modelo mediante etiquetas. Ejemplo: {RAM=64}.
Perfiles (Profiles): Conjuntos de estereotipos, restricciones y valores etiquetados que se utilizan para adaptar UML a un dominio específico o a un tipo particular de sistema
¿Cuál de las siguientes relaciones entre clases NO se considera una relación fuerte?
a) Composición.
b) Asociación.
c) Agregación.
d) Herencia.
B
Asociación
¿Qué elemento de UML se utiliza para extender la semántica de los elementos existentes en un diagrama, como por ejemplo, para indicar que una clase representa un componente de interfaz de usuario?
a) Restricciones.
b) Valores etiquetados.
c) Estereotipos.
d) Perfiles.
C
Estereotipos
¿Qué tipo de diagrama UML se utiliza para mostrar la disposición física de los nodos de hardware y los componentes de software en un sistema? (T)
Diagrama de despliegue
¿Cuál es la diferencia entre una relación de composición y una de agregación en un diagrama de clases?
En la composición, el ciclo de vida del componente está ligado al de la contenedora, mientras que en la agregación, los ciclos de vida son independientes
¿Qué representa un diagrama de despliegue en UML?
a) La estructura lógica del software
b) La disposición física de los nodos de hardware y componentes de software
c) Las interacciones entre los usuarios y el sistema
d) Los flujos de trabajo del sistema
B
La disposición física de los nodos de hardware y componentes de software
¿Cuál es la función principal del diagrama de despliegue?
a) Mostrar las clases y sus relaciones
b) Visualizar la arquitectura física y cómo se distribuyen los componentes en el hardware
c) Representar la lógica del negocio
d) Detallar los casos de uso del sistema
B
Visualizar la arquitectura física y cómo se distribuyen los componentes en el hardware
¿Qué elementos se utilizan comúnmente en un diagrama de despliegue?
a) Clases y objetos
b) Nodos y artefactos
c) Actividades y decisiones
d) Componentes y interfaces
B
Nodos y artefactos
¿Qué tipo de nodos se pueden representar en un diagrama de despliegue?
a) Solo servidores
b) Cualquier dispositivo físico, como servidores, routers y estaciones de trabajo
c) Solo dispositivos móviles
d) Solo componentes lógicos
B
Cualquier dispositivo físico, como servidores, routers y estaciones de trabajo
¿Qué información adicional puede incluir un diagrama de despliegue?
a) Detalles sobre el código fuente
b) Descripciones sobre los procesos internos del sistema
c) Información sobre la configuración del hardware y software asociado a cada nodo
d) Solo nombres de los componentes
C
Información sobre la configuración del hardware y software asociado a cada nodo
¿En qué situaciones es especialmente útil un diagrama de despliegue?
a) Durante la fase de diseño lógico del software
b) Para modelar el comportamiento dinámico del sistema
c) Al planificar la implementación física y la topología del sistema en el hardware
d) Para documentar los requisitos funcionales del sistema
C
Al planificar la implementación física y la topología del sistema en el hardware
En diseño y programación orientada a objetos, una relación de generalización entre clases:
a) Implica que la subclase hereda las propiedades, el comportamiento y las relaciones de la superclase, a la vez que puede añadir sus propias propiedades, relaciones y comportamiento.
b) Describe un conjunto de enlaces, que definen las interconexiones semánticas entre las instancias de las clases que participan en la relación.
c) Asume una subordinación conceptual del tipo “todo/parte”, o bien “tiene un”.
d) Se representa mediante una línea discontinua que une la superclase y subclase con un rectángulo al lado de la superclase.
A
Implica que la subclase hereda las propiedades, el comportamiento y las relaciones de la superclase, a la vez que puede añadir sus propias propiedades, relaciones y comportamiento.
En la programación orientada a objetos, ¿qué se entiende por polimorfismo?
a) La capacidad de una subclase de heredar métodos y atributos de la superclase.
b) El uso de diferentes interfaces para permitir que un objeto actúe de diferentes maneras según el contexto.
c) La capacidad de un objeto de realizar diferentes tareas a través de diferentes clases.
d) La capacidad de un objeto de modificar el estado de otro objeto.
B
El uso de diferentes interfaces para permitir que un objeto actúe de diferentes maneras según el contexto.
¿Qué describe una relación de composición entre dos clases en la programación orientada a objetos?
a) Una relación en la que una clase es parte de otra y no puede existir sin ella.
b) Una relación en la que una clase hereda las propiedades y comportamientos de otra.
c) Una relación entre clases en la que una clase contiene referencias a objetos de otras clases.
d) Una relación en la que las clases pueden compartir atributos y métodos sin importar su jerarquía.
A
Una relación en la que una clase es parte de otra y no puede existir sin ella.
¿Cuál de las siguientes afirmaciones es cierta sobre las interfaces en la programación orientada a objetos?
a) Las interfaces permiten a una clase heredar atributos y métodos de otras clases.
b) Las interfaces definen un conjunto de métodos que deben ser implementados por las clases que las usan, pero no pueden contener implementaciones.
c) Las interfaces son opcionales y no deben ser implementadas por ninguna clase.
d) Las interfaces son clases abstractas con implementaciones predeterminadas para los métodos.
B
Las interfaces definen un conjunto de métodos que deben ser implementados por las clases que las usan, pero no pueden contener implementaciones.
¿Qué significa que una clase sea abstracta en la programación orientada a objetos?
a) La clase no puede ser instanciada directamente, pero puede contener métodos con o sin implementación.
b) La clase siempre debe ser instanciada antes de ser utilizada.
c) La clase no puede contener métodos, solo atributos.
d) La clase no puede heredar de otras clases, solo puede ser utilizada como base.
A
La clase no puede ser instanciada directamente, pero puede contener métodos con o sin implementación.
Cuál es la principal diferencia entre herencia y composición en el diseño orientado a objetos?
a) La herencia permite a una clase heredar métodos, mientras que la composición solo permite heredar atributos.
b) La herencia establece una relación de “es un”, mientras que la composición establece una relación de “tiene un”.
c) La herencia se utiliza para incluir objetos de otras clases dentro de una clase, mientras que la composición permite definir nuevas clases a partir de otras existentes.
d) La herencia no permite sobrescribir métodos, pero la composición sí.
B
La herencia establece una relación de “es un”, mientras que la composición establece una relación de “tiene un”.
Señale la respuesta INCORRECTA respecto al Lenguaje de Modelado Unificado (UML):
a) Es un lenguaje basado en diagramas para la especificación, visualización, construcción y documentación de cualquier sistema software.
b) Es independiente de las metodologías de análisis y diseño y de los lenguajes de programación que se utilicen en la construcción del software.
c) Se basa en el paradigma de la orientación a objetos.
d) Muestra únicamente el modelado estático de un sistema software, que puede utilizarse en las diferentes fases de su ciclo de desarrollo.
D
Muestra únicamente el modelado estático de un sistema software, que puede utilizarse en las diferentes fases de su ciclo de desarrollo.
¿Cuál de los siguientes diagramas de UML se utiliza principalmente para representar el comportamiento dinámico del sistema, mostrando la interacción entre objetos a lo largo del tiempo?
a) Diagrama de clases
b) Diagrama de componentes
c) Diagrama de secuencia
d) Diagrama de casos de uso
C
Diagrama de secuencia
En UML, ¿qué diagrama se utiliza para mostrar la relación estática entre clases, atributos, métodos y asociaciones?
a) Diagrama de clases
b) Diagrama de actividad
c) Diagrama de colaboración
d) Diagrama de estado
A
Diagrama de clases
En UML, ¿qué tipo de diagrama se utiliza para modelar las posibles transiciones entre los estados de un objeto en respuesta a eventos?
a) Diagrama de actividad
b) Diagrama de estado
c) Diagrama de secuencia
d) Diagrama de colaboración
B
Diagrama de estado
¿Qué tipo de relación entre clases se representa en UML con una línea con un triángulo en el extremo apuntando hacia la clase base?
a) Asociación
b) Composición
c) Generalización
d) Dependencia
C
Generalización
¿Cuál de los siguientes diagramas de UML describe el comportamiento del sistema desde el punto de vista de los usuarios y cómo interactúan con el sistema?
a) Diagrama de interacción
b) Diagrama de clases
c) Diagrama de casos de uso
d) Diagrama de componentes
C
Diagrama de casos de uso
Señale la respuesta INCORRECTA. El patrón de diseño “Composite”:
a) Es un patrón de diseño estructural que permite componer objetos en estructuras de árbol.
b) Sirve para construir objetos complejos a partir de otros más simples y similares entre sí.
c) Simplifica el tratamiento de los objetos creados que, al poseer de una interfaz común, se tratan todos de la misma manera.
d) Se recomienda su uso cuando se quiere añadir responsabilidades a objetos concretos de manera dinámica y transparente y sin afectar a otros objetos.
D
Se recomienda su uso cuando se quiere añadir responsabilidades a objetos concretos de manera dinámica y transparente y sin afectar a otros objetos.
Cuál de los siguientes patrones de diseño se utiliza para crear una instancia de una clase de manera controlada, asegurándose de que haya solo una instancia en todo el sistema?
a) Factory Method
b) Singleton
c) Observer
d) Composite
B
Singleton
¿Qué patrón de diseño se utiliza para crear objetos de una familia de clases relacionadas sin especificar las clases concretas que se deben instanciar?
a) Strategy
b) Abstract Factory
c) Builder
d) Command
B
Abstract Factory
En el patrón Observer, ¿qué elemento notifica a los observadores cuando ocurre un cambio en el estado de un objeto observado?
a) El sujeto
b) El observador
c) El canal de comunicación
d) El controlador
A
El sujeto
¿Cuál de los siguientes patrones de diseño permite separar la construcción de un objeto complejo de su representación, permitiendo crear diferentes representaciones de ese objeto?
a) Factory Method
b) Builder
c) Prototype
d) Adapter
B
Builder
¿Qué patrón de diseño se utiliza para proporcionar una interfaz unificada para un conjunto de interfaces en un sistema?
a) Proxy
b) Adapter
c) Bridge
d) Facade
D
Facade
El proceso de presentación de solicitud implica la autenticación del usuario, la firma de la solicitud, el guardado en base de datos, la generación de un asiento registral y la generación de un justificante de presentación. ¿Qué diagrama UML utilizaría para representar las acciones implicadas en este flujo?
a) Diagrama de paquetes.
b) Diagrama de objetos.
c) Diagrama de secuencia.
d) Diagrama de Entidad/Relación.
C
Diagrama de secuencia.
¿Qué tipo de diagrama UML es más adecuado para representar la estructura estática de un sistema, mostrando las clases, atributos y relaciones entre ellas?
a) Diagrama de clases
b) Diagrama de secuencia
c) Diagrama de actividades
d) Diagrama de casos de uso
A
Diagrama de clases
En el contexto de UML, ¿qué diagrama se utiliza para modelar la interacción entre los actores y el sistema, mostrando los requisitos y las funcionalidades de alto nivel?
a) Diagrama de casos de uso
b) Diagrama de secuencia
c) Diagrama de clases
d) Diagrama de despliegue
A
Diagrama de casos de uso
¿Cuál de los siguientes diagramas de UML sería el más adecuado para modelar el flujo de control y decisiones dentro de un proceso de negocio o algoritmo?
a) Diagrama de flujo de datos
b) Diagrama de actividades
c) Diagrama de componentes
d) Diagrama de objetos
B
Diagrama de actividades
¿Qué diagrama UML utilizarías para representar la arquitectura de un sistema, indicando los componentes y su distribución en el entorno físico?
a) Diagrama de secuencia
b) Diagrama de despliegue
c) Diagrama de clases
d) Diagrama de estados
B
Diagrama de despliegue
¿Qué tipo de diagrama UML es útil para representar los cambios de estado de un objeto a lo largo de su ciclo de vida?
a) Diagrama de clases
b) Diagrama de secuencia
c) Diagrama de estados
d) Diagrama de actividad
C
Diagrama de estados
En un entorno de desarrollo Java, ¿qué utilizaría para mapear elementos XML a clases?
a) JAXB.
b) JPA.
c) JAXR.
d) JAX-RS.
A
JAXB
¿Qué tecnología de Java se utiliza para realizar el mapeo entre objetos Java y bases de datos relacionales?
a) JAXB
b) JPA
c) JAX-RS
d) JAX-WS
B
JPA
¿Cuál de las siguientes opciones permite crear servicios web RESTful en Java?
a) JAX-RS
b) JAX-WS
c) JAXB
d) JPA
A
JAX-RS
¿Qué API de Java se utiliza para construir y consumir servicios web SOAP?
a) JAX-RS
b) JAX-WS
c) JPA
d) JAXB
B
JAX-WS
En Java, ¿qué biblioteca es utilizada para la serialización y deserialización de objetos JSON?
a) Jackson
b) JPA
c) JAXB
d) JAX-RS
A
Jackson
En el contexto de aplicaciones Java, ¿qué tecnología se utiliza para interactuar con servicios de mensajería, como JMS (Java Message Service)?
a) JAX-RS
b) JAX-WS
c) JavaMail
d) JMS
D
JMS
Se ha heredado una librería compilada que realiza la conexión a un importante servicio de comprobación de Cl@ve PIN, ¿qué patrón de diseño permite reutilizar este objeto?
a) Adaptador (Adapter)
b) Singleton
c) Chain of responsibility (Cadena de responsabilidad)
d) Iterador (Iterator)
A
Adaptador (Adapter)
¿Qué patrón de diseño se utiliza para asegurar que una clase tenga solo una instancia y proporciona un punto de acceso global a esa instancia?
a) Factory Method
b) Singleton
c) Observer
d) Builder
B
Singleton
¿Qué patrón de diseño permite que un objeto delegue las tareas a otros objetos de forma que el procesamiento de las tareas se pueda encadenar en una secuencia?
a) Composite
b) Chain of Responsibility
c) Strategy
d) Proxy
B
Chain of Responsibility
¿Qué patrón de diseño se utiliza para crear objetos de una clase sin especificar la clase exacta del objeto que se va a crear?
a) Factory Method
b) Prototype
c) Builder
d) Abstract Factory
A
Factory Method
En el patrón de diseño Observer, ¿qué papel juega el sujeto (subject)?
a) Mantiene el estado y actualiza a los observadores cuando hay un cambio.
b) Escucha las notificaciones de otros objetos y responde a ellas.
c) Controla la creación de nuevos objetos.
d) Crea una instancia única del objeto.
A
Mantiene el estado y actualiza a los observadores cuando hay un cambio.
¿Cuál de los siguientes patrones de diseño se utiliza para crear objetos complejos paso a paso, permitiendo que el mismo proceso de construcción cree diferentes representaciones?
a) Adapter
b) Builder
c) Command
d) Iterator
B
Builder
La última versión del estándar de UML es:
a) 2.5
b) 2.4.1
c) 2.4
d) 3.0
A
2.5
¿Qué diagrama de UML se utiliza principalmente para mostrar la interacción entre objetos y la secuencia temporal de los mensajes entre ellos?
a) Diagrama de clases
b) Diagrama de secuencia
c) Diagrama de casos de uso
d) Diagrama de actividad
B
Diagrama de secuencia
¿Qué componente de un diagrama de clases de UML se usa para representar un conjunto de objetos que comparten características comunes?
a) Relación de asociación
b) Clase
c) Interfaz
d) Paquete
B
Clase
¿Qué diagrama de UML se utiliza para mostrar la evolución de un objeto a través de una serie de estados en su vida?
a) Diagrama de clases
b) Diagrama de estados
c) Diagrama de componentes
d) Diagrama de actividad
B
Diagrama de estados
¿Cuál de los siguientes tipos de relaciones en un diagrama de clases de UML indica que una clase utiliza la funcionalidad de otra clase, pero sin poseerla ni heredarla?
a) Asociación
b) Composición
c) Dependencia
d) Generalización
C
Dependencia
¿Qué tipo de diagrama de UML se utiliza para representar el flujo de control entre actividades, donde se describe cómo se desarrollan las tareas dentro de un proceso?
a) Diagrama de casos de uso
b) Diagrama de actividad
c) Diagrama de componentes
d) Diagrama de secuencia
B
Diagrama de actividad
En UML un diagrama de componentes:
a) Describe la estructura del sistema mostrando las clases del sistema, sus atributos y relaciones entre ellas.
b) Describe cómo un sistema de software se divide en componentes y muestra las dependencias entre ellos.
c) Sirve para modelar el hardware utilizado en las implementaciones del sistema, los componentes implementados en el hardware y las asociaciones entre componentes en un momento específico.
d) Muestra una vista completa o parcial de la estructura de un sistema modelado en un momento específico.
B
Describe cómo un sistema de software se divide en componentes y muestra las dependencias entre ellos.
¿Qué tipo de diagrama en UML se utiliza para modelar las interacciones entre actores y el sistema, especificando las funcionalidades del sistema desde una perspectiva externa?
a) Diagrama de clases
b) Diagrama de secuencia
c) Diagrama de casos de uso
d) Diagrama de estado
C
Diagrama de casos de uso
¿Qué tipo de diagrama en UML describe la organización física de los artefactos de software en nodos de hardware?
a) Diagrama de clases
b) Diagrama de despliegue
c) Diagrama de componentes
d) Diagrama de actividad
B
Diagrama de despliegue
¿Qué diagrama de UML se utiliza para modelar la estructura estática del sistema, mostrando las clases, sus atributos, métodos y las relaciones entre ellas?
a) Diagrama de clases
b) Diagrama de componentes
c) Diagrama de actividad
d) Diagrama de secuencia
A
Diagrama de clases
¿Qué tipo de diagrama en UML se utiliza para modelar la lógica de transición entre estados de un objeto a lo largo de su ciclo de vida?
a) Diagrama de estados
b) Diagrama de secuencia
c) Diagrama de interacción
d) Diagrama de actividades
A
Diagrama de estados
¿Cuál de los siguientes diagramas de UML muestra las actividades del sistema y cómo se desarrollan en paralelo o de forma secuencial?
a) Diagrama de actividades
b) Diagrama de clases
c) Diagrama de secuencia
d) Diagrama de componentes
A
Diagrama de actividades
¿Cuál de los siguientes tipos de cohesión es mejor (mayor nivel de cohesión) conforme a la
metodología Métrica v3?
a) Casual.
b) Procedimental.
c) Funcional.
d) Lógica.
C
Funcional
¿Cuál de los siguientes patrones de diseño se utiliza para crear una interfaz simplificada para un conjunto de interfaces más complejas?
a) Singleton
b) Factory Method
c) Facade
d) Observer
C
Facade
En el contexto de la programación orientada a objetos, ¿qué principio describe la capacidad de una clase de tener múltiples implementaciones de un método?
a) Encapsulación
b) Herencia
c) Polimorfismo
d) Abstracción
C
Polimorfismo
¿Qué métrica de software se utiliza para medir la complejidad de un programa basándose en el número de caminos linealmente independientes a través del código?
a) Líneas de código (LOC)
b) Complejidad ciclomática
c) Acoplamiento aferente
d) Profundidad de herencia
B
Complejidad ciclomática
En orientación a objetos, ¿qué característica se debilita cuando todas las propiedades de una
clase son públicas?
a) Encapsulamiento.
b) Abstracción.
c) Herencia.
d) Polimorfismo.
A
Encapsulamiento
¿Qué concepto de la programación orientada a objetos permite que una clase herede propiedades y métodos de otra clase?
a) Encapsulamiento
b) Polimorfismo
c) Herencia
d) Abstracción
C
Herencia
¿Qué característica de la programación orientada a objetos permite que un objeto de una subclase sea tratado como un objeto de su superclase?
a) Encapsulamiento
b) Polimorfismo
c) Herencia
d) Abstracción
B
Polimorfismo
En programación orientada a objetos, ¿qué término se utiliza para describir una clase que no puede ser instanciada directamente?
a) Clase virtual
b) Clase abstracta
c) Clase estática
d) Clase final
B
Clase abstracta
¿Qué principio de diseño sugiere que una clase debe tener una sola razón para cambiar?
a) Principio de Responsabilidad Única
b) Principio de Abierto/Cerrado
c) Principio de Sustitución de Liskov
d) Principio de Segregación de Interfaces
A
Principio de Responsabilidad Única
¿Qué término se utiliza para describir la práctica de ocultar los detalles de implementación de un objeto y exponer solo los métodos necesarios?
a) Encapsulamiento
b) Abstracción
c) Modularización
d) Interfaz
A
Encapsulamiento
Respecto a los patrones de diseño, señale la respuesta correcta:
a) El patrón Iterator permite alterar el comportamiento de un objeto cuando su estado
interno cambia.
b) El patrón Mediator permite separar algoritmos de los objetos que operan.
c) El patrón State permite guardar y restaurar el estado previo de un objeto sin revelar los detalles de su implementación.
d) El patrón Observer permite definir un mecanismo de suscripción y notificación cuando ocurren ciertos eventos sobre el objeto observado.
D
El patrón Observer permite definir un mecanismo de suscripción y notificación cuando ocurren ciertos eventos sobre el objeto observado.
¿Cuál de los siguientes patrones de diseño se utiliza para crear una interfaz simplificada para un conjunto de interfaces más complejas?
a) Adapter
b) Facade
c) Proxy
d) Bridge
B
Facade
¿Qué patrón de diseño permite añadir funcionalidades a un objeto de manera dinámica sin afectar a otros objetos de la misma clase?
a) Factory Method
b) Singleton
c) Decorator
d) Composite
C
Decorator
¿Cuál de los siguientes patrones de diseño garantiza que una clase tenga una única instancia y proporciona un punto de acceso global a ella?
a) Singleton
b) Prototype
c) Builder
d) Abstract Factory
A
Singleton
¿Qué patrón de diseño se utiliza para definir una familia de algoritmos, encapsular cada uno de ellos y hacerlos intercambiables?
a) Command
b) Template Method
c) Strategy
d) Chain of Responsibility
C
Strategy
¿Cuál de los siguientes patrones de diseño se utiliza para construir objetos complejos paso a paso, permitiendo producir diferentes tipos y representaciones de un objeto usando el mismo código de construcción?
a) Abstract Factory
b) Builder
c) Prototype
d) Factory Method
B
Builder
En referencia a los principios SOLID de desarrollo de software, señale la respuesta correcta:
a) Disponer de una clase que realiza varias funcionalidades no relacionadas entre sí cumple
el principio S de SOLID.
b) Disponer una clase que hereda de otra clase genérica y en la clase hija se sobreescribe un método de la clase padre sólo para lanzar una excepción de operación no soportada, cumple el principio L de SOLID.
c) Disponer una interfaz con muchos métodos, de los cuales algún método no es necesario para las clases que implementan dicha interfaz, cumple el principio I de SOLID.
d) Disponer una interfaz para el acceso a la base de datos, y utilizar esa interfaz en vez de la implementación concreta de acceso a base de datos, cumple el principio D de SOLID.
D
Disponer una interfaz para el acceso a la base de datos, y utilizar esa interfaz en vez de la implementación concreta de acceso a base de datos, cumple el principio D de SOLID.
¿Cuál de los siguientes escenarios cumple con el Principio de Responsabilidad Única (SRP)?
a) Una clase que maneja la lógica de negocio, la persistencia de datos y la presentación de la interfaz de usuario
b) Una clase que solo se encarga de la validación de datos de entrada
c) Una clase que realiza cálculos matemáticos y también genera informes
d) Una interfaz que define métodos para leer, escribir y procesar datos
B
Una clase que solo se encarga de la validación de datos de entrada
¿Qué principio SOLID se está aplicando cuando se diseña una clase de tal manera que pueda ser extendida sin necesidad de modificar su código?
a) Principio de Responsabilidad Única (SRP)
b) Principio de Abierto/Cerrado (OCP)
c) Principio de Sustitución de Liskov (LSP)
d) Principio de Segregación de Interfaces (ISP)
B
Principio de Abierto/Cerrado (OCP)
¿Cuál de las siguientes situaciones viola el Principio de Sustitución de Liskov (LSP)?
a) Una subclase que añade nuevos métodos a los de su clase base
b) Una subclase que redefine un método de la clase base para mejorar su rendimiento
c) Una subclase que lanza una excepción en un método que la clase base no lanzaba
d) Una subclase que implementa todos los métodos abstractos de su clase base
C
Una subclase que lanza una excepción en un método que la clase base no lanzaba
¿Qué principio SOLID se está aplicando cuando se diseñan interfaces pequeñas y específicas en lugar de una gran interfaz general?
a) Principio de Responsabilidad Única (SRP)
b) Principio de Abierto/Cerrado (OCP)
c) Principio de Sustitución de Liskov (LSP)
d) Principio de Segregación de Interfaces (ISP)
D
Principio de Segregación de Interfaces (ISP)
¿Cuál de las siguientes prácticas es un ejemplo de aplicación del Principio de Inversión de Dependencia (DIP)?
a) Usar una fábrica para crear objetos
b) Implementar el patrón Singleton
c) Inyectar dependencias a través de constructores
d) Utilizar herencia múltiple
C
Inyectar dependencias a través de constructores
En una aplicación Java, cuando se crea una instancia de una clase utilizando la palabra reservada “new”, ¿en qué parte de la JVM se almacena el objeto?
a) Method Area.
b) Heap.
c) Stack.
d) JNI.
B
Heap
¿En qué área de memoria de la JVM se almacenan las variables locales de un método?
a) Heap
b) Method Area
c) Stack
d) Program Counter Register
C
Stack
¿Dónde se almacenan las definiciones de clases y métodos en la JVM?
a) Heap
b) Method Area
c) Stack
d) Native Method Stack
B
Method Area
¿Qué componente de la JVM es responsable de la recolección de basura (Garbage Collection)?
a) Class Loader
b) Execution Engine
c) Runtime Data Areas
d) Native Method Interface
B
Execution Engine
¿En qué parte de la JVM se almacenan los objetos String literales?
a) Heap
b) String Pool (parte del Heap)
c) Stack
d) Method Area
B
String Pool (parte del Heap)
¿Qué sucede con los objetos en el Heap que ya no tienen referencias?
a) Se eliminan inmediatamente
b) Se marcan para ser eliminados por el Garbage Collector
c) Se mueven al Stack
d) Se mantienen en el Heap indefinidamente
B
Se marcan para ser eliminados por el Garbage Collector
En UML, ¿qué significa “INV”?
A) Invariante, una condición que siempre debe cumplirse en un modelo
B) Invocación, una llamada a un método dentro de un diagrama de secuencia
C) Inversión de control, un principio de diseño en arquitectura de software
D) Invalidez, un estado en el que una clase no puede ser instanciada
A
Invariante, una condición que siempre debe cumplirse en un modelo