Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Identificacion de potencial uso de patron Decorator #1

Open
AlexVelezLl opened this issue Aug 3, 2020 · 0 comments
Open

Identificacion de potencial uso de patron Decorator #1

AlexVelezLl opened this issue Aug 3, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@AlexVelezLl
Copy link
Owner

Se puede usar el patrón de diseño al crear los hilos de la creacion de globos segun la dificultad en la clase https://github.com/AlexVelezLl/TyperBalloons/blob/master/src/Vistas/VistaJuego1.java

Actualemtne este es el diagrama de clases de esa parte.
image

El objetivo de usar el patrón decorator aqui es agregar dinámicamente los tipos de globos que deben aparecer en el juego dependiendo de la dificultad que haya escogido el jugador.

La motivación es que podamos ir agregando los tipos de globo (globos verdes, globos amarillos, globos rojos, globos malos) según el nivel que haya escogido el jugador, los globos verdes y los globos amarillos van a aparecer siempre en cualquier dificultad, pero la aparición de globos rojos la deberíamos agregar si el usuario escogió el nivel medio, y la aparición de globos rojos y malos, la deberíamos agregar si el usuario escogió el nivel difícil.

Se propone utilizar el patrón decorator, donde en el método iniciar juego de JuegoBase se corra el hilo que empiece a crear a todos los globos verdes y a los globos amarillos, y que podamos ir añadiendo el inicio de hilos que creen los globos rojos y globos malos a través de las clases InicioGloboRojo e InicioGloboMalo respectivamente según sea el nivel que haya escogido el jugador.

Las consecuencias que nos deja el uso de este patrón son que nos deja un sistema mas escalable, en el caso de que deseemos agregar nuevos niveles con nuevos globos, ya que simplemente podemos ir extendiendo globos de la clase Globo, e crear otros decoradores que inicien la creación de los nuevos globos, además de que le quitamos responsabilidades a la clase VistaJuego.

El diagrama de clases final podria quedar como se indica abajo:

image

@AlexVelezLl AlexVelezLl added the enhancement New feature or request label Aug 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant