Kategoria: DDD-starter

Marcin Markowski

Polityka to Building Block z DDD, który pozwala otwierać model na rozbudowę w tych miejscach, w których biznes może tego faktycznie potrzebować. Pojedyncze Polityki zwykle są stosunkowo proste, ich kompozycja może jednak modelować bardzo złożone wymagania biznesowe. Jak zaimplementować je w C#, [...]

więcej
Marcin Markowski

Value Object to bardzo użyteczny Building Block z DDD. Jego użycie znacznie zwiększa ekspresywność kodu i redukuje ilość defensywnej logiki. Jak składnia C# wpiera implementację Value Objectów? Których konstrukcji językowych używać, żeby maksymalnie zwiększyć czytelność? Na szczęście C# ma w [...]

więcej
Marcin Markowski

W DDD najważniejsze jest oczywiście poznanie naszej domeny, zbudowanie Ubiquitous Language i Modelu wiernie odzwierciedlającego biznes. Na koniec dnia trzeba jednak ubrać to w kod. Ten projekt jest ilustracją różnych podejść do implementacji wzorców znanych z DDD i nie tylko. Zapraszamy na nasz [...]

więcej
Marcin Markowski

Projekty i namespace’y to niedoceniane elementy, które mogą znacząco poprawić czytelność naszego kodu. Warto stosować je w sposób przemyślany, a nie „jakkolwiek, bo to przecież nieistotne”. Kod czyta się co najmniej 10 razy częściej, niż się go modyfikuje. Warto więc [...]

więcej
Marcin Markowski

Persystencja zawsze budzi wiele emocji i skrajnych opinii. W tym artykule pokażemy, jakie opcje są do wyboru przy persystowaniu agregatów z DDD i jak pragmatycznie do nich podejść. Przejdziemy kolejno przez bezpośredni zapis agregatów, robienie Snapshotów, tworzenie osobnego modelu danych na [...]

więcej
Marcin Markowski

Własna tożsamość to główny wyróżnik Encji w DDD. Jest ona wyrażana przez Id obiektu, którym w praktyce najczęściej okazuje się … int z bazy danych. Nie jest to najlepsze rozwiązanie, skoro w DDD chodzi o modelowanie biznesu. Postaram się przedstawić alternatywne podejście i jego implementację, [...]

więcej
Szymon Janikowski

Jak nie dopuścić do legacy ? Kod legacy to problem, który wielu z nas zna aż zbyt dobrze. Kilka ustępstw, brak dyscypliny i lądujemy w bagnie. Jak do tego nie dopuścić i wyczuć magiczny moment, w którym to się dzieje? Niedawno na Warszawskim JUG-u opowiadaliśmy jak użyć do tego Domain Driven [...]

więcej