https://github.com/dfleta/galley-grub
Desing pattern exercise: flyweight pattern and chain of responsability
https://github.com/dfleta/galley-grub
chain-of-responsibility-pattern desing-patterns flyweight-pattern gof-patterns java uml-class-diagram
Last synced: 8 months ago
JSON representation
Desing pattern exercise: flyweight pattern and chain of responsability
- Host: GitHub
- URL: https://github.com/dfleta/galley-grub
- Owner: dfleta
- Created: 2022-02-14T11:01:49.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-03-22T19:38:59.000Z (about 4 years ago)
- Last Synced: 2025-03-25T16:51:36.873Z (about 1 year ago)
- Topics: chain-of-responsibility-pattern, desing-patterns, flyweight-pattern, gof-patterns, java, uml-class-diagram
- Language: Java
- Homepage:
- Size: 2.68 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
GALLEY GRUB
===========
Bob Esponja trabaja como cocinero en el Krusty Krab, restaurante famoso por su hamburguesa de autor Krabby Patty.
El restaurante tiene un menu llamado Galley Grub que puedes leer aquí:
https://spongebob.fandom.com/wiki/Galley_Grub

Las comandas son anotadas a mano por Squidward Tentacles.
El propierario Eugene H. Krabs -un agarrao- en vez de adquirir un TPV ha decidido contratar a un estudiante de Dual para que construir un software que calcular el importe total del pedido e imprimir el recibo.
Intenta hacer como que programas si no quieres terminar en la cocina ayudando a Bob a preparar Krusty Burguers.
Implementa las historias de usuario con la lógica descrita en el `main` de la clase principal `App.java`.
Si tienes dudas, puedes observar las historias de usuario _live_ en el capítulo _Pickles_ aquí:
https://www.youtube.com/watch?v=VlxSEEIwwNY&list=PL_181YA7nAlfR_0ro3l6Dh7ReB7AB7Mon
## Salida de la aplicación
Intenta que la salida del programa por CLI sea lo más parecida posible a las imágenes que se proporcionan. Cada una de ellas se corresponde con una de las historias de usuario que se detallan en los epígrafes siguientes.


## Diagrama de clases UML / Arquitectura de la app.
Sigue el diagrama de clase UML proporcionado para construir la aplicación.
Si añades algún componente, dibújalo a mano alzada sobre el diagrama.

## Prepara el proyecto
1. Crea un nuevo repo PRIVADO en tu cuenta en **Github** y compártelo con el usuario dfleta.
2. Crea un nuevo directorio en tu equipo y **clona el repositorio** de Github.
3. Abre VSCode /Eclipse /Netbeans /IntelIJ y **establece como workspace** el directorio que has clonado.
4. Crea un proyecto **Gradle** o **Maven**.
5. Pon el proyecto en seguimiento en **Git** y configura `.gitignore`.
6. Copia y pega la función principal `App.java`. Utilízala como guía en el proceso TDD. **No puedes modificar su código**, pero sí puedes comentar aquellas partes que aun no hayas implementado.
7. Completa las clases que aquí se indican **implementando los casos test que necesites y que se propocionen**. Practica **TDD**.
8. **Realiza `commits` como mínimo cada vez que termines una historia de usuario**. Sin commit periódicos, no corrijo el examen.
## Cómo entregar el código
1. Crea un repo PRIVADO en tu GitHub y compártelo con el usuario dfleta.
2. **Realiza commits periódicamente** mientras avanzas en el desarrollo de la aplicación. Sin commit periódicos, no corrijo el examen.
3. Realiza un `push` al repo remoto en GitHub **SOLO cuando hayas terminado el proyecto**.
3. Si quieres, si vas a dormir mejor, una vez publicado el repo en github, desde Eclipse /Netbeans /IntelIJ exporta el proyecto a un fichero. En VSCode, comprime en un ZIP la carpeta del proyecto. Envíame el archivo ZIP por correo electrónico. **No se admiten ficheros .rar**.