
Zadanie I
Dodać nowy stan w TaskEvent - CREATED
Publikować zdarzenie CREATED z fasady zadań
Rozbudować odbiór zdarzeń w fasadzie projektów
Naprawić FIXME z domeny projektów
Bonus: poprawić updateStep w domenie (obecnie ustawia correspondingTaskDone, gdy zadanie zostało usunięte). Może zastąpić 2 flagi jakimś dedykowanym Value Objectem z metodami?
Zadanie II
Utworzyć domenę raportów
W raportach nasłuchiwać na zdarzenia z zadań, szczególnie DONE, UNDONE
Przenieść changesCount do nowej domeny, wyliczać go na podstawie zdarzeń
Dodać kolejne raporty, np. ile razy zadanie pochodzące z danego źródła zostało usunięte
Chcesz tworzyć mikroserwisy? Zacznij od dobrej architektury!
Upewnij się, że Twoja aplikacja jest na to gotowa, że umiesz wydzielić niezależne moduły i skomunikować je asynchronicznie, zdarzeniami.
Nowy dzień, nowy framework. To może być ciekawe, ale nie jest kluczowe w programowaniu. Warto znać nowinki technologiczne, ale o wiele ważniejsze są podstawy architektoniczne, które tutaj przedstawiam.
Dobra architektura ułatwi podbicie wersji biblioteki i podmianę frameworka na nowy, lśniący. Z kolei bez dobrej architektury nowy framework/biblioteka może pomóc, ale z dużym prawdopodobieństwem po prostu zaciemni nasz kod i wprowadzi tylko kolejne obejście problemu.
Command Query Responsibility Segregation, Domain-Driven Design, odwrócenie kontroli, projekcje Spring Data, zdarzenia.