Podejście typu „rób tak zawsze i koniec” jest moim zdaniem słabe. Tym bardziej, jeżeli nie padają żadne argumenty. Bo jak pojawiają się argumenty, to jest również dyskusja. Tak jest w kwestii podejścia „klasa powinna być finalna by default”, a ja przychodzę z argumentami, dlaczego nie 🙂
Kiedyś, podczas sesji Event Stormingu, w której brałem udział kilka lat temu, co chwilę padało zdanie „A to wyłapie jakaś polityka”. Następnie naklejaliśmy fioletową karteczkę. Wtedy nie było dla mnie jasne, czym są polityki w kontekście Stormingu oraz DDD. Dzisiaj już to wiem i chcę tą wiedzą podzielić się z Wami 🙂
Utrzymanie dobrego performance aplikacji jest prawdziwą sztuką. Jako developerzy najczęściej poświęcamy swoją uwagę na to, w jaki sposób piszemy kod. I to jest okej, chociaż na tym przyśpieszanie aplikacji się nie kończy. Stąd właśnie mam kilka porad związanych z dobrym performance, które niekoniecznie skupiają się na tym, jaki kod piszemy 🙂
Pytanie na dziś: co lepiej zrobić, wysłać komendę, czy wygenerować nowe zdarzenie? Jakie konsekwencje będzie miało pierwsza, a jakie druga opcja? Dzisiaj odpowiemy sobie na to pytanie.
Warstwa domeny w Domain Driven Design jest prawdziwą wisienką na torcie. Powinniśmy dbać o nią, aby zawsze była czysta. Dziś przedstawię Wam kilka heurystyk, których stosowanie spowoduje, że Wasza domena nabierze barw 🙂
Agregaty to perła pośród całego Domain Driven Design. Święty Graal wielu, którzy migrują na DDD. Niby każdy wie o ich istnieniu, jednakże znaleźć projekt z ich wykorzystaniem jest niełatwo. Przejdźmy przez ten bardzo ciekawy element taktycznego DDD.
Wszyscy dookoła mówią, że encje powinny zawierać wyłącznie logikę biznesową, a nie settery. Niby wszyscy to wiedzą, ale każdy i tak robi te settery. Ja wiem, dlaczego tak się dzieje i z chęcią Wam o tym opowiem 🙂
Wzorców projektowych jest bardzo dużo, nawet jeżeli jakoś je pogrupujemy. A pogrupowałem już we wcześniejszym wpisie, którego temat będę kontynuował tutaj. Zapraszam więc na drugą część wpisu o wzorcach projektowych przyjaznych zasadzie OCP 🙂
Główną rolą Modularnego Monolitu jest przygotowanie aplikacji do ewentualnego wydzielania serwisów z istniejących modułów. Nie zawsze jest to prosty proces, dlatego postanowiłem przyjrzeć się mu nieco bliżej na łamach bloga.
Architektura Warstwowa pozwala świetny w sposób zorganizować nasz kod, dzięki czemu architektura aplikacji przestaje być „płaska”. Dokładając do tego koncept Modularnego Monolitu sprawiamy, że nasza aplikacja zostaje pocięta na kawałki. Można dzięki temu lepiej poznać konteksty aplikacji. Dziś poznamy kolejny wzorzec, który bardzo dobrze wpływa na wymienność części aplikacji – Architekturę Hexagonalną.