"Immutable Value Objects" brzmi to poważnie i nieco strasznie. Jednakże, jest to prosty, praktyczny i bardzo przydatny koncept. Pomaga on w pisaniu mniej kodu, testów. Nasze klasy stają się bardziej przewidywalne. W swoim najnowszym artykule pokazałem na przykładzie, jak możesz skorzystać z tego konceptu.
Sztuka programowania 1168 dni, 33 minuty temu 150 źrodło rozwiń
[EN] Domain-Driven Design #05: value object
Architektura 2103 dni, 2 godziny, 40 minut temu 81 ź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 2148 dni, 2 godziny, 59 minut temu 370 źrodło rozwiń
Najbardziej popularnym Value Object jest Money. W tym przykładzie instancje możemy tworzyć tylko poprzez metode Create() (taka fabryka). Konstruktor jest prywatny. Pewnie dla tego przykładu lepiej mieć po prostu publiczny konstruktor z dwoma parametrami, ale mam wiele przykładów innych bardziej skomplikowanych Value Objects, gdzie podejście z prywatnym konstruktorem i kilkoma fabrykami walidującymi różne przypadki ma sens.
Sztuka programowania 2722 dni, 1 godzinę, 59 minut temu 138 źrodło rozwiń