1. Se desea desarrollar un juego de rol, lo primero que se va a desarrollar del juego
es permitir la creacin de personajes, los cuales tienes las siguientes caractersticas: - Se deben crear personajes a partir de personajes predefinidos. - El personaje puede ser de una de las siguientes razas: Alianza u Horda. - De alianza hay dos clases: humanos y elfos y de Horda: Orcos y No muertos. - Cada Personaje tiene como atributos: Nombre, foto, inteligencia, fuerza, poder mgico, altura y habilidades. - Los personajes predefinidos tienen atributos base que se utilizan para crear nuevos personajes. Una instancia de la clase representa a un personaje u otro, por ejemplo podemos tener los personajes de la alianza (Humano por ejemplo) con bajo poder mgico o personajes de la Horda con mucha fuerza. Se debe disear una solucin basada en un patrn de diseo, que permita al usuario crear nuevos personajes y seleccionar personajes de una coleccin de personajes existentes. Disear el diagrama de clases que permita aadir un nuevo personaje a la coleccin y seleccionar un personaje con el que se va a jugar.
2. La librera Swing de Java utiliza el patrn Decorator para aadir barras de
desplazamiento a los componentes visuales. Sea JComponent la clase raz de todas las clases que representan componentes visuales y sean JList y JTextArea clases que representan listas de seleccin y reas de texto, respectivamente, y sea JScrollPane la clase que se utiliza para decorar con barras de desplazamiento,
a) Mostrar cul sera la relacin entre estas clases.
b) Escribir cdigo para aadir una barra de desplazamiento a un rea de texto ya creada. c) Cmo se podra aadir a Swing un nuevo decorador barra de zoom que permita agrandar o encoger un componente visual? Crear diagrama de clases.
3. Se desea desarrollar un sistema de envi de notificaciones que tiene que
interactuar con un conjunto de clases que permiten la creacin y envo de mensajes de correo electrnico y que entre otras incluye clases que representan el cuerpo del mensaje, los anexos, la cabecera, el mensaje, la firma digital y una clase encargada de enviar el mensaje. Se debe interactuar con instancias de todas estas clases para el manejo de los mensajes, por lo que debe conocer en qu orden se crean esas instancias y cmo colaboran esas instancias para obtener la funcionalidad deseada. Se debe buscar una solucin basada en algn patrn de diseo, de tal forma que se reduzcan las dependencias del cdigo cliente con esas clases y se reduzca la complejidad de dicho cdigo cliente para crear y enviar mensajes. Dibujar el diagrama de clases que refleje la solucin e indicar qu patrn se ha utilizado.
4. De un ejemplo en el que se aplicara el patrn proxy, incluya la narrativa de cmo
se usara, cules son las ventajas y desventajas de usar dicho patrn.