Está en la página 1de 4
UNIVERSIDAD NACIONAL DE EDUCACION A DISTANCIA ~ ESCUELA TECNICA SUPERIOR DE INGENIERIA INFORMATICA 71022011 — DiseNo DE APLICACIONES ORIENTADA A OBJETOS: (GRADO EN INGENIERIA INFORMATICA | TECNOLOGIAS DE LA INFORMACION) ‘Sepriemsre 2014~ Move.o A ~ [EES eee 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 puntuardn con -0.25. Las no contestadas no tendrén influencia ni positiva ni negativa en la nota. 6 preguntas de patrones del libro y 4 de Java: Pregunta 1: ¢Cual de las siguientes colaboraciones no es cierta en el caso del patrén Builder? a. Elcliente crea el objeto Director y lo configura con el objeto constructor deseado. b. Elcliente obtiene el producto del constructor. El Constructor maneja las peticiones del Director d. El Constructor notifica al Director cada vez que hay que construir una parte de un producto Pregunta 2: En una simulacién de los zorros y los conejos se puede definir una clase padre Animal. En una version modificada de la simulacién el cédigo podria ser: import java.util.List; public class Animal { String nombre = "Animal"; public void metodo2(){ system.out.println("Soy un animal"); » } public class Zorro extends Animal { String nombre = "Zorro"; public String nombreAnimal(){ return(nombre); > public void metodo2() { System.out.printin("soy un zorro"); y public void metodol(List newAnimals){ system.out.print1n("Animal”); » » public class ZorrosConejos { public static void main(string[] args) ¢ ‘Animal 2 = new Zorro(); z.metodo2(); » Indica qué ocurrird al ejecutar el cédigo: a. Error en tiempo de ejecucién. b. Se mostrara en consola el mensaje “Soy un zorro”. ©. Error de compilacién. dd, Mostraré en consola el mensaje “Soy un animal” Pregunta 3: Indica cual de los siguientes elementos no es un participante del patrén Prototype (Protatipo) ‘a. Prototipo Concreto b. Cliente c. Prototipo d. Componente Pregunta 4: Indique cual de las siguientes afirmaciones es correcta: b, La signatura es el encabezado de un método y proporciona la informacién necesaria para invocarlo. La signatura esta formada por los parémetros de un método y proporciona la informacién necesaria para invocarlo. La signatura es el nombre de un método y puede tener pardmetros para proporcionar informacién adicional para realizar una tarea, La signatura es el encabezado de un método y puede tener parémetros para proporcionar informacion adicional para realizar una tarea, Pregunta 5: Del patrén Chain of Responsability (Cadena de Responsabilidad) podemos afirmar: i Es utilizado por varias bibliotecas de clases para manejar los eventos de usuario. Se suele aplicar conjuntamente con el patrén Composite. Se suele utilizar conjuntamente con el patrén Iterator. Es utilizado para coordinar actualizaciones complejas.. 4,2 Ninguna 13 2,4 Pregunta 6: Del patrén Iterator (Iterador) cuales de las siguientes afirmaciones son correctas: Permite acceder al contenido de un objeto agregado sin exponer su representacién interna. Proporciona una interfaz uniforme para recorrer diferentes estructuras agregadas. Permite la iteracién polimérfica Permite varios recorridos sobre objetos agregados. 1,2,3,4 23,4 4,2 1,2,3 Pregunta 7: Dada la siguiente definicién de clase: public class Test { private int valor; public Test(int n) 4 valo! 3 public int calcular() { int resultado=1; int numero=valor; if (valor>=1) 4 dot resultado }while(numero>=1 return resultado; y else{ while(numero<0) resultado*=numero; y return resultado; 3 public static void main (String [] args){ Test tenew Test(-3); int v=t.calcular(); system. out.printin(v » } El resultado de su ejecucién seria: 6 Bucle infinito 6 0 Pregunta &: Indica cual de las siguientes afirmaciones es falsa respecto a las ventajas del patrén Memento (Recuerdo): a b, 4, Preserva los limites de la encapsulacién, Su uso puede ser costoso. Es una alternativa a la herencia. Simplifica al Creador. Pregunta 9: Indica cual de las siguientes afirmaciones es correcta Las colecciones de objetos son objetos que pueden almacenar un niimero predeterminado e invariable de otros, objetos. Un iterador es un objeto que proporciona funcionalidad para recorrer todos los elementos de una coleccién. Un ciclo consiste en la escritura repetida de un bloque de sentencias. Un array es un tipo especial de coleccién que puede almacenar un niimero variable de elementos, Pregunta 10: Respecto al patrén Bridge (Puente), cuales de las siguientes afirmaciones son correctas: 1 Desacopla la interfaz y la implementacién. Mejora la extensibilidad, Oculta detalles de implementacién a los clientes. Se aplica cuando se desea evitar un enlace permanente entre una abstraccién y su implementacién. 12,4 1,2,3,4 4,3 3,4 PARTE PRACTICA [6,5 PUNTOS| Pregunta 11; Se desea disefiar una sencilla calculadora que permita realizar multiplicaciones de dos numeros. Se pide aplicar el patrén Memento (Recuerdo) con el fin de implementar la operacién undo (deshacer), que facilite la recuperacién del resultado de la Ultima operacién realizada. Por ejemplo, si el usuario realiza la operacién 3*2 =6 y, justo a continuacién realiza la operacién 2*7, pero se confunde en el valor 7, el patron permi aplicar una operacién recuperarCalculoAnterior que muestre al usuario el resultado de la ultima operacién realizada, en este caso, 6. a) a) [1 punto] Justifica 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 ver de éste? [1 punto] Plantea el diagrama de clases necesario para abordar la implementacién del problema propuesto. Comienza con el planteamiento genérico del patrén y luego particularizalo al problema concreto. b) [1,25 puntos] implementa en Java el diagrama de clases propuesto e implementa un método main que permita probar el funcionamiento de éstas. Pregunta 12; Se desea disefiar un sencillo programa que permita configurar su armamento a un jugador de un juego tipo de disparos en primera persona (first person shoter) su armamento. Se pide aplicar el patron Decorator {Decorador) para permitir afiadir al arma basica, y de manera dindmica, diferentes elementos tales como una mira telescépica, un lanzador de granadas, diferentes tipos de culatas, una linterna, etc. ©) [1 punto] Justifica la eleccién de este patrén y analiza las ventajas y desventajas de la eleccién. Hay otro patron que se pueda haber usado en ver de éste? 4d) [1 punto] Plantea el diagrama de clases necesario para abordar la implementacién del problema propuesto. Comienza con el planteamiento genérico del patrén y luego particularizalo al problema concreto. e) [1,25 puntos] implementa en Java el diagrama de clases propuesto e implementa un método main que permita probar el funcionamiento de éstas.

También podría gustarte