"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 994 dni, 13 godzin, 31 minut temu 150 źrodło rozwiń
[EN] Domain-Driven Design #05: value object
Architektura 1929 dni, 15 godzin, 38 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 1974 dni, 15 godzin, 57 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 2548 dni, 14 godzin, 57 minut temu 138 źrodło rozwiń