Вы находитесь на странице: 1из 3
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) Sepriemere 2013 ~ Move.o B- [RESuMastm me use ene 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 puntuaran con -0.25. Las no contestadas no tendrén influencia ni positiva ni negativa en la nota. Pregunta 1; éCudl de las siguientes afirmaciones acerca del patron Abstract Factory (Fabrica Abstracta) es falsa? a) Promueve la consistencia entre productos. b) _Facilita a inclusion de nuevos tipos de productos. ©) Facilita el intercambio de familias de productos. d)_Aisla las clases concretas. Pregunta 2; {Cudl de las siguientes afirmaciones acerca un adaptador de clases es falsa? a) Nose necesita ningiin puntero de indireccién adicional para obtener el objeto adaptado. b) Permite que Adaptador redefina parte del comportamiento de Adaptable. ©) Es vilido para adaptar una clase y todas sus subclases, d) Adaptador es una subclase de Adaptable. Pregunta 3: {Cuando deberiamos aplicar el patron Prototype (Prototipo)? a) Para almacenar el estado. b) Para coordinar componentes GUI relacionados, ©) Cuando una clase tiene miltiples instancias que son controladas de manera idéntica. d) Cuando un sisterna debe crear objetos de diferentes tipos dentro de una jerarquia de clases compleja, Pregunta 4; Si quisiera asignar responsabilidades adicionales a un objeto dinamicamente, proporcionando una alternativa a la herencia £Qué patrén aplicaria? a) Abstract Factory b) Factory Method ©) Decorator d) Facade Pregunta 5: Si quisiera controlar el acceso a un objeto especifico éQué patrén aplicaria? a) State b) Proxy ©) Facade d) Adapter Pregunta 6; Cuai de las siguientes afirmaciones acerca del patrén Mediator (Mediador) es falsa? a) Abstrae cémo cooperan los objetos. b)_Descentraliza el control. ©) Reduce la herencia, d)_ Simplifica los protocolos de los objetos. Pregunta 7; Dado el siguiente fragmento de cédigo, éCual seria la salida por pantalla? public clase Hiclace public public static void ‘ a) Error de compilacion. b) 9 9 15 4) 16 Pregunta 8: Dado el siguiente fragmento de cédigo, ¢Cusl seria la salida por pantalla? snterface Nilntortar public clase \iclase implements viintersaz public static void = 3 eras) a) Error de compilacién b) Error en tiempo de ejecucién ©) No soy un interfaz 4d) Soy un interfaz Pregunta 9: Dado el siguiente cédigo, Qué habria que implementar como condicién del if para que el resultado mostrado por pantalla sea “IGUALES”? public clase \ public static void ring argel]) a) varl.compareTo(var2)>=0 b) vari==var2 oO) vari=var2 d)_var1.equals(var2) Pregunta 10: éCual de las siguientes afirmaciones es correcta respecto a una clase interna? a) Puede acceder a los campos y métodos piiblicos y protegidos de la clase envolvente, pero no privados. b) Puede acceder a los campos y métodos piblicos de la clase envolvente, pero no a privados ni a protegidos. 9) No puede acceder alos campos y métodos privados de la clase envolvente. d) Puede acceder a los campos y métodos piiblicos y privados de la clase envolvente. Parte PRACTICA [6,5 PUNTOS| Pregunta 11; Suponga un escenario donde le han solicitado implementar el funcionamiento de un mando a distancia universal de televisién. La aproximacion més sencilla es crear una clase abstracta 0 una interfaz, basada en un conjunto de funcionalidades basicas (encender, apagar o cambiar de canal), a partir de la cual puedan implementarse los comportamientos concretos de cada fabricante (Samsung, Sony, etc.) en sus televisiones especificas. Con el fin de que pueda variar de manera sencilla tanto la implementacién concreta de cada televisor como la abstraccién que ha definido inicialmente (por ejemplo afiadiendo una nueva funcionalidad como siguiente canal o canal anterior), le proponemos el uso del patrén Bridge (Puente). a) [1 punto] Justifique la eleccién de este patrén y analice las ventajas y desventajas de la eleccién. Hay otro patron que se podria haber usado en lugar de este? b) [1 punto] Plantee el diagrama de clases necesario para abordar la implementacién problema propuesto. Comience con un planteamiento genérico y luego particularicelo al problema concreto. Explique detalladamente todas las decisiones tomadas. ©) [1,25 puntos] Implemente en Java el diagrama de clases propuesto. Pregunta 12; Le han encargado realizar una aplicacién en Java para una empresa de reformas. Suponga que la empresa trabaja tres tipos diferentes de habitacién (dormitorios, salas de estar y cuartos de bafio) con un coste base de 1000, 2000 y 500 euros respectivamente. Entre las reformas que la empresa realiza se encuentran las siguientes: poner tarima, alicatar, pintar y decorar, y cuyo coste es de 1000, 500, 400 y 1500 euros respectivamente. Se le ha solicitado una aplicacién que permita configurar la reforma, definiendo el tipo de habitacién y las reformas necesarias, y que devuelva como salida una descripcién de la reforma y el precio final de esta. Le proponemos el uso del patrén Decorator (Decorador). a) [1 punto] Justifique la eleccién de este patrén y analiza las ventajas y desventajas de la eleccién. Hay otro patron que se podria haber usado en lugar de este? b) [1 punto] Plantee el diagrama de clases necesario para abordar la implementacién problema propuesto. Comience con un planteamiento genérico y luego particularicelo al problema concreto. Explique detalladamente todas las decisiones tomadas. ©) [1,25 puntos] Implemente en Java el diagrama de clases propuesto.

Вам также может понравиться