William Zambrano

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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