Udało się ugotować cebulkę, projekt wygląda znacznie lepiej aniżeli wcześniej. I dodatkowo ma większe możliwości. Stworzyłem też moje pierwsze DDD (Domain-Driven Design), ostatnio zachorowałem...
Grywalizacja jak sama nazwa wskazuje pojęcie związane z grami komputerowymi. Jak wiadomo wszem i wobec każdy użytkownik komputera miał styczność z grami komputerowymi.
Zapowiadałem na ten wpis, iż będzie on dotyczył wykorzystania ES oraz walidatorów, jednak powstał mały bałagan w projekcie czego skutkiem było wyodrębnienie CQRS do osobnego repozytorium.
Niniejszy wpis dotyczy implementacji Event Sourcingu w moim CQRSie. Jest to kolejna szyna wykorzystywana na różne sposoby. Można np. zachować (jeżeli system cały system oparty jest o CQRS/ES) stan aplikacji w poszczególnych etapach jej życia. Zapis stanów musi odbyć sie np. w bazie danych.
Był czas na monolity, przyszedł czas na mikroserwisy pora jeszcze bardziej zminimalizować, zejść do poziomu wykonywania pojedynczych funkcji, czyli serverless. Osobiście jeszcze nie zetknąłem się praktycznie z tą usługą, nie mniej jednak widziałem dwie prezentacje na konferencji 4D w Warszawie, tym samym temat mnie nieco zainteresował.
Po omówieniu komend pora na przejście do zapytań. Ich celem jest odczytywanie danych i z wracanie w odpowiedniej do wymagania formie. Do wykonywania zapytań posłuży szyna zapytań. Dzięki jej zastosowaniu wywołanie zapytania odbywać się może w dowolnym miejscu aplikacji ze wstrzykniętą odpowiednią zależnością.
Rozwarstwienie aplikacji to także większy porządek => większa czytelność => łatwiejsze utrzymanie. Zachęcam do budowania aplikacji w oparciu o cebulkę!
Budując aplikacje na bazie WPFu, mamy do dyspozycji wiele ciekawych możliwości ominięcia pisania tak zwanego kodu „code-behind„. W celu wiązania danych z widokiem wykorzystujemy Bindowanie (łączenie właściwości kontrolek z przypisanym do widoku kontekstem danych DataContext).
Zachciało mi się… nauczyć czegoś przydatnego i noweg. Padło na separację operacji pobierania i zmieniania danych. W tym celu pokusiłem się o własną implementację CQRS. Wszystkie komponenty składowe ładowane przez Autofaca w odseparowanym module.