Está en la página 1de 3
UNIVERSIDAD NACIONAL DE EDUCACION A DISTANCIA — ESCUELA TECNICA SUPERIOR DE INGENIERIA INFORMATICA 71022011 — Disefio DE APLICACIONES ORIENTADA A OBJETOS: (GRADO EN INGENIERIA INFORMATICA | TECNOLOGIAS DE LA INFORMACION) BULL ReE ERINO ESTA PERMITIOO EL USO DE MATERIAL ADICIONAL} Parte TEORICA - TEST [2,5 PUNTOS, Sélo una de las respuestas es valida. Las respuestas correctas se puntuarén con +1,0, mientras que las, respondidas de manera incorrecta se puntuarén con -0,25. Las no contestadas no tendran influencia ni positiva ni negativa en la nota, Pregunta 1: {Cual de las siguientes afirmaciones acerca del patron Abstract Factory es falsa?: a. Es facil dar cabida a nuevos tipos de productos. b. Facilita el intercambio de familias de productos. c. Promueve la consistencia entre productos. d. isla a los clientes de las clases de implementacién. Pregunta a. Permite un gran ntimero de objetos de grano fino de forma eficiente. b. Define un objeto que encapsula como interactiian una serie de abjetos. .Permite un comportamiento cooperativo que no es proporcionado por los objetos Colegas y el protocolo es multidireccional el patron Facade (Fachada) podemos decir que: d. Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema, Pregunta 3: éCual de las siguientes afirmaciones acerca del patrén Memento (Recuerdo) es cierta? a. Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan qué clase instanciar. b. Conecta jerarquias de clases paralelas. . Facilita el intercambio de familias de productos, d. Evita exponer informacién que s6lo deberia ser gestionada por un creador, pero que sin embargo debe ser guardada fuera del creador. Pregunta 4: {ual de los siguientes escenarios no es adecuado para aplicar el patrOn Visitor (Visitante) ? ‘a. Se necesitan realizar muchas operaciones distintas y no relacionadas sobre objetos de una estructura de objetos y queremos evitar “contaminar” sus clases con dichas operaciones. b. Cuando una estructura de objetos contiene muchas clases de objetos con diferentes interfaces y queremos realizar operaciones sobre esos elementos que dependen de su clase concreta c. Cuando se quiere representar jerarquias de objetos parte-todo. d. Cuando las clases que definen la estructura de objetos rara vez cambian, pero muchas veces queremos definir nuevas operaciones sobre la estructura. Pregunta 5: Del patrén Chain of Responsibility (Cadena de Responsabilidad) podemos decir que: a. Libera a un objeto de tener que saber qué otro objeto maneja una peticién. b. Losclientes pueden tratar uniformemente a las estructuras compuestas y a los objetos individuales. c. Permite especificar nuevos objetos modificando valores. d. Se usa cuando se quiere evitar un enlace permanente entre una abstraccién y su implementacién Pregunta 6 (): éCual es el resultado de compilar y ejecutar el siguiente cédigo? ublic interface Padre publi d metodos (); ublic class Hijo implements Padre publi d metodos () System.out.print ("Mi jo. 5 ublic class Test { public static void main(String{] args) { Padre h=new Hijo(); h.metodoa () + ) a. Muestra en consola: "Método B de Hijo. ” b. Error de compilacién. Una interfaz debe declarar todos sus métodos pero no implementarlos. ¢._ Error de compilacién. €! objeto h no puede declararse de tipo Padre. d. Error de compilacién. Hay que sobreescribir el metodoA\) en la clase Hijo. Pregunta 7: £En que casos deberia aplicarse el patrén Decorator (Decorador)? 1. Para afiadir objetos individuales de forma dindmica y transparente. 2. Para responsabilidades que pueden ser retiradas, 3. Se quiere crear una clase reutilizable que coopere con clases no relacionadas 0 que no han sido previstas, 4. Cuando la extensin mediante la herencia no es viable. Las respuestas correctas son a 1y2. b. 1y3 © 12y4. d. 1,2,3y4, Pregunta 8: Segiin el texto de la bibliografia basica de la asignatura, indique cual de las siguientes afirmaciones es correcta a. Un objeto de tipo String puede ser modificado una vez que esta creado, por tanto es un ejemplo de objeto mutable. b. La clase String tiene un método de nombre trim() que pasa todos los caracteres de una cadena a mayusculas. Las cadenas de texto de tipo String se pueden comparar mediante el método equals(). d. Un objeto no es mutable si su contenido o su estado puede ser modificado una vez que se ha creado. Pregunta 9: éCual es el resultado de compi Fy ejecutar el siguiente cédigo? import java-util.*; public class Test { public static void main (str. HashMapeString, Str mapa-put ("A", mapa. put ("B", "va mapa.put ("C", "valorC") ; 1 args) ( 3 HashMap=1) return resultado; d else{ return 1; 3 public static void main (string (] args){ ‘Test tenew Test (3); int vet.caleular(); System. cut-printIn(v); > > Muestra en consola 2 Muestra en consola 6 Muestra en consola 0 dd. Muestra en consola 1 Parte PRACTICA [6,5 PUNTOS]: Pregunta 11: Se desea utilizar el patrén Facade (Fachada) para diseffar un servicio de venta telefénica que facilite llevar a cabo las operaciones de realizacién del pedido, gestién del cobro y facturacién, asi como de envio. Nétese que cada una de estas operaciones se llevan a cabo a través de sistemas independientes. Con el fin de simplificar el problema suponga que el cliente Gnicamente puede comprar un producto por cada llamada telefénica a) [1 punto] Justfica la eleccién de este patron y analiza las ventajas y desventajas de la eleccién. Hay otro patrén que se pueda haber usado en vez de éste? b) [1 punto] Plantea el diagrama de clases necesario para abordar la implementacién del problema propuesto. Comienza con un planteamiento genérico y luego particularizalo al problema concreto. ©) [1,25 puntos] implementa en Java el diagrama de clases propuesto y un método main que permita probar el patrén. Progunta 12: Se desea utilizar el patrén Visitor (Visitante) para generar informes de los empleados de una empresa donde se reflejen las horas trabajadas y el importe total a percibir. El uso del patrén Visitor se lleva a cabo con el fin de desacoplar la generacién de estos informes de la propia implementacién de la clase Empleado. a) [1 punto] Justfica la eleccién de este patrén y analiza las ventajas y desventajas de la eleccion. ¢Hay otro patrén que se pueda haber usado en ver de éste? b) [1 punto] Plantea el diagrama de clases necesario para abordar la implementacién del problema propuesto. Comienza con un planteamiento genérico y luego particularizalo al problema concreto, ©) [1,25 puntos] implementa en Java el diagrama de clases propuesto y un método main que permita probar el patrén.

También podría gustarte