"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 1067 dni, 13 godzin, 40 minut temu 150 źrodło rozwiń
[EN] Domain-Driven Design #05: value object
Architektura 2002 dni, 15 godzin, 47 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 2047 dni, 16 godzin, 6 minut temu 369 ź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 2621 dni, 15 godzin, 6 minut temu 138 źrodło rozwiń