JHON WILLIAM ZAMBRANO CAMAYO INSTITUTO TECNOLOGICO DEL PUTUMAYO SEGUNDO PARCIAL DE LOO 1. De cada enunciado a continuaci
Views 77 Downloads 8 File size 1MB
JHON WILLIAM ZAMBRANO CAMAYO INSTITUTO TECNOLOGICO DEL PUTUMAYO SEGUNDO PARCIAL DE LOO 1. De cada enunciado a continuación, seleccione el tipo de patrón que debe aplicarse a la solución: a. Se desea desarrollar un software para una inmobiliaria. Esta inmobiliaria realiza muchos trabajos diferentes, por ejemplo el cobro del arriendo, muestra de inmuebles, contratos de ventas, contratos de alquiler, etc. Se requiere que el desarrollo sea orientado a objetos, lo que indica que no se realice todo en una misma clase, sino que se dividan las responsabilidades en diferentes clases. En el software de la inmobiliaria se tienen varios tipos de Personas, todas con sus atributos y métodos correspondientes (Factory)
(Prototype)
(Abstract Factory)
(Fachada)
(Singleton)
b. Una institución educativa es un objeto único. “No deberíamos” tener muchas instancias de esta clase ya que al hacerlo estaríamos diciendo que hay varias instituciones educativas. Caso contrario sería los alumnos que asisten a dicha institución. Debería haber un objeto por cada alumno ya que tienen propiedades distintas por ejemplo el nombre y su documento de identidad. Pero todos los alumnos debería comunicarse con la misma institución educativa (Factory)
(Prototype)
(Abstract Factory)
(Fachada)
(Singleton)
c. Una empresa se dedica a darle un formato estético específico a los televisores LCD y Plasma. Los directivos de la empresa decidieron que todos los LCD que saldrán al mercado serán azules y que todos los plasma serán amarillos. Una posible solución puede ser que en la clase Azul se coloque el LCD y en la clase Amarillo el Plasma y aparentemente todo funcionará muy bien. ¿Cuál sería el inconveniente?: el hecho de que los LCD sean azules y los Plasma amarillos es una decisión del negocio que obviamente en un futuro podría cambiar, por ejemplo: ¿qué pasa si se agrega otro color o deciden cambiar el color del LCD? O ¿Qué pasa si se crea otro producto como por ejemplo LED y también se requiere pintar de Azul? (Factory)
(Prototype)
(Abstract Factory)
(Fachada)
(Singleton)
Suponga que se tiene una clase abstracta llamada Triangulo, de la cual heredan los tres tipos de triángulos conocidos (Equilátero, Escaleno e Isóceles), pero se tiene la restricción que quien se encargue de crear un tipo de triangulo concreto no debería tener que conocer cómo se compone internamente (Factory)
(Prototype)
(Abstract Factory)
(Fachada)
(Singleton)
JHON WILLIAM ZAMBRANO CAMAYO
d. Suponga que una persona quiere comprar una bicicleta de color azul y con ruedas de diámetro de 26 pulgadas, pero cuando la persona llega al almacén quiere verla de color rojo y con ruedas de 29 pulgadas de diámetro (Factory)
(Prototype)
(Abstract Factory)
(Fachada)
(Singleton)
2. Una empresa de video-juegos tiene un producto exitoso basado en simulación de animales, este es el diagrama de clases para la familias de clases Pato
Posteriormente, para vender más copias del producto, se toma la decisión que en el simulador puedan volar los patos
Luego se decide agregar patos de hule al simulador para atraer más audiencia infantil.
JHON WILLIAM ZAMBRANO CAMAYO
Una ventaja de reutilización (usando la herencia), se convirtió en un problema de mantenimiento. Ahora es necesario sobrescribir el método “volar” para que los patos de hule se comporten como deben
Más adelante una nueva decisión aparece: agregar un pato artificial de los que utilizan los cazadores en la temporada de caza de patos
JHON WILLIAM ZAMBRANO CAMAYO
ANUNCIO IMPORTANTE Cada 6 meses habrán cambios en el simulador y el diseño deberá acomodarse fácilmente a ellos.
Para este punto se pide Diseñar una posible Solución al Problema, teniendo en cuenta lo siguiente:
JHON WILLIAM ZAMBRANO CAMAYO
• Principio #3: Favorezca la composición en lugar de la herencia Quiere decir que la clase Pato en lugar de heredar debería implementar algunas interfaces
JHON WILLIAM ZAMBRANO CAMAYO
Realice el diagrama de clases completo de la solución
PATO +nadar (): void +dibujar (): Void
PATOMALLARD +nadar (): void +dibujar (): Void
PATOMANDARIN +nadar (): void +dibujar (): Void
PATODEHULE +nadar (): void +dibujar (): Void
VOLAR VOLAR():{ //No Hacer nada }
+nadar (): void +dibujar (): Void
COMPORTAMIENTO DE GRAZNIDO +nadar (): void +dibujar (): Void
COMPORTAMIENTO DE VUELO +nadar (): void +dibujar (): Void
VOLAR VOLAR():{ //implementar vuelo }
PATODECAZA
QUACK Quack():{ //hacer quack }
QUACK Quack():{ //hacer el sonido quack }
QUACK Quack():{ //No hacer quack }
JHON WILLIAM ZAMBRANO CAMAYO