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.
Już na samym począteczku problemy, musiałem wymienić bibliotekę logów z log4net na NLog, okazało się, iż w moim projekcie opartym na .NET 4.5.2 nie można wykorzystać biblioteki log4net i tyle z nauki.
C#rek trochę już obyty z GUJI, rozmyślając o zielonych migdałach, czasem też o programowaniu. Po wielu chwilach doszedł do wniosku, iż programowanie jest to ciężki kawałek chleba, ale warto poświęcić jedną, czy dwie kąpiele błotne na rzecz nauki.
Przechadzając się po zielonym, zalesionym bagnie C#rek rozmyślał o robocie, jaką może wykonać przy pomocy tego co się dowiedział. Napotkał też na pewien problem. Ludzie się go boją, uciekają gdy tylko zobaczą wielkiego, strasznego i brzydkiego zielonego stwora.