Giter Site home page Giter Site logo

santa-clause-observer's Introduction

-- 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! ---

santa-clause-observer's People

Contributors

skemo12 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.