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#, żeby maksymalnie zwiększy czytelność?
Sztuka programowania 1948 dni, 15 godzin, 18 minut temu 268 źrodło rozwiń
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 tym obszarze sporo do zaproponowania, więc kod może być naprawdę elegancki.
Sztuka programowania 1974 dni, 16 godzin, 7 minut temu 369 źrodło rozwiń
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.
Sztuka programowania 1981 dni, 16 godzin, 15 minut temu 202 źrodło rozwiń
Zostałem niedawno zapytany, dlaczego w projekcie DDDSample.NET projekt “Application” nazywa się właśnie tak, a nie “Domain Services”. Zwróciło to moją uwagę na całkiem spory problem nazewnictwa związanego z DDD oraz ogólnie z architekturami. Jednym ze źródeł problemu zdaje się być niesamowicie przeładowane znaczeniowo słowo “usługa”. Ale po kolei… Wspomniany projekt “Application” zawiera fasadę Modelu Domeny udostępniającą operacje biznesowe realizowane za pomocą tegoż mo...
Architektura 5357 dni, 12 godzin, 31 minut temu 66 źrodło rozwiń
Dużo piszę ostatnio o CQRS (Command Query Responsibility Segregation), ale nie pokazałem ani razu jak to podejście wygląda w praktyce. Postaram się dziś naprawić to niedopatrzenie. Posłużę się w tym celu projektem DDDSample w najnowszej wersji CQRS. Kod podzielony jest na cztery główne obszary: Domain — tutaj znajduje się logika biznesowa aplikacji, której zadaniem jest przetwarzanie transak...
Architektura 5367 dni, 4 godziny, 56 minut temu 314 źrodło rozwiń
Autor: Bardzo szybko przywykłem do idei "domain events" Udiego i nie spodziewałem się napotkania w kodzie DDDSample innego rozwiązania. Jakież było więc moje zdziwienie, gdy zdarzenia (z natury) domenowe odnalazłem nie na poziomie modelu domeny, ale na poziomie warstwy aplikacyjnej. Postanowiłem przejrzeć się bliżej temu tematowi (zamiast na ślepo kopiować Javowe rozwiązanie).
Architektura 5501 dni, 16 godzin, 28 minut temu 83 źrodło rozwiń
Autor: Z ogromną przyjemnością śpieszę donieść, iż projekt DDDSample.Net - .NET-owy klon projektu DDDSample - właśnie doczekał się pierwszej wersji. Wraz z projektem powstał także stosowny blog, na którym publikowane będą informacje dotyczące postępu prac oraz posty komentujące decyzje projektowe, które zostały podjęte przez autorów Java-owego oryginału.