Skip to content

skemo12/Santa-Clause-Observer

Repository files navigation

-- Proiect POO -- Paunoiu Darius Alexandru -- 322CD -- Readme

                            --- Etapa 1 ---

     - Rezolvarea temei se afle in pachetul src, functia main facand pasii
principali rezolvarii implemntate (Citirea, afisearea, cele 3 apeluri de baza).
Fiecare clasa contine JavaDoc pentru o scurta descriere a functionalitati
acesteia.

    - Patterns folosite:
    Am folosite 2 patternuri in aceasta tema: Singleton si Visitor. Patternul de
singleton este folosit pentru Database-ul creat si pentru clasa Utils.
Clasa utils contine functii utile care nu se puteau incadra intr-o alta clasa
anume. Patternul de visitor este folosit pentru interactiunea din Santa si
Child. Practic mai intai se creeaza o lista updata de copii, de categorii baby,
kid si teen dupa care santa viziteaza toti copii din aceea lista.

    Pentru citirea input-ului mi-am creeat propriul InputLoader, dar pentru
output am realizat ca este mult mai usor sa se foloseasca un objectMapper din
Jackson (probabil asa au fost creeate si fisierele referinta).

    Flow-ul dintre clase este destul de simplu, Database-ul stockeaza toate si
are si cateva metode necesare, precum updateDatabaseByYear, saveYear si
renewDatabase. In fiecare an, se aplica metoda giveGifts al santa-ului din
database, care imparte toate cadourile copiilor, dupa care se salveaza
rezultatul pentru anul respectiv in obiectul din database allYearsChildren, dupa
care se actualizeaza baza de date prin incrementarea varstei copiilor si
aplicarea modificarilor date de input.

    Toate constantele folosite se gasesc in clasa Constants (data de schelet),
in ea am adaugat si constantele mele. In main verific daca fisierul de intrare
incepe cu "test" pentru a nu citi din fisiere straine (pe vmchecker exista un
.DS aparent si nu e prea ok sa incerc sa citesc din el, el neavand nici extensia
de JSON).

        --- Multumesc frumos pentru atentie si feedback! ---

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published