Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dfleta/ricksy-business-observer

Patrón observer, Colecciones, SOLID, SRP, OCP, LSP, DIP, Tiene una /has-a, Agragación débil, TDD.
https://github.com/dfleta/ricksy-business-observer

dip gof-patterns lsp observer-pattern ocp solid srp tdd uml-class-diagram

Last synced: 12 days ago
JSON representation

Patrón observer, Colecciones, SOLID, SRP, OCP, LSP, DIP, Tiene una /has-a, Agragación débil, TDD.

Awesome Lists containing this project

README

        

Ricksy Business
===============

Rick se queda a cargo Morty y Summer, y celebra una pedazo de fiesta.
Entre los invitados hay adolescentes, aliens, Gearhead, Squanchy, Birdpearson y Abradolph Lincler (una combinación de DNA de Adolf Hitler y Abraham Lincoln).

Cuando un invitado/a llega a la fiesta, se le da de alta en el receptivo del sistema mediante su tarjeta de crédito.

El receptivo carga en el crédito de la tarjeta:
- El coste del UberOvni de vuelta a casa
- El coste del pack de bienvenida (Collaxion crystals).

El componente de reserva de Ovnis y el componente de entrega del pack de bienvenida observan al componente receptivo, de modo que cuando el receptivo da de alta a un invitado/a automáticamente cargan en la tarjeta del invitado/a el coste de ambos servicios.

## 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 y **establece como workspace** el directorio que has clonado.
4. Crea un proyecto **Gradle** o **Maven** que incluya tu **nombre y apellidos**.
5. Pon el proyecto en seguimiento en **Git** y configura `.gitignore`.
5. Copia y pega la función principal `RicksyBusiness.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**. 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 quires, desde Eclipse /Netbeans /IntelIJ exporta el proyecto a un fichero. En VSCode, comprime en un ZIP la carpeta del proyecto.
4. Envíame el archivo ZIP por correo electrónico. No se admiten ficheros .rar.

## Salida de la aplicación

Intenta que la salida del programa sea lo más parecida posible a las imágenes que se proporcionan.

Intenta que la salida del programa sea lo más parecida posible a las imágenes que se proporcionan.

!["Historias de usuario"](./doc/Salida_consola_01.png)

!["Historias de usuario"](./doc/Salida_consola_02.png)

!["Historias de usuario"](./doc/Salida_consola_03.png)

!["Historias de usuario"](./doc/Salida_consola_04.png)

## Historias de usuario /casos de uso

Las historias de usuario están enunciadas en el script principal `RicksyBusiness.java`

## Diagrama de clases UML

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.

![Diagrama de clases UML](./doc/diagrama_clases_%20UML_.png)