Po kilku latach śledzenia złej praktyki przekazanej przez "architektów" w moim miejscu pracy i myślenia, że musi istnieć lepszy sposób, ostatnio czytałem o TDD i DDD oraz o mnie. uważam, że zasady i praktyki będą doskonale pasować do złożoności oprogramowania, które piszemy.TDD, DDD i enkapsulacja
Jednak wiele próbek TDD, które widziałem, wywołuje metodę na obiekcie domeny, a następnie testuje właściwości obiektu, aby zapewnić prawidłowe zachowanie.
Z drugiej strony, kilka szanowanych osób w branży (Greg Young najbardziej zauważalnie, dzięki swoim rozmowom na temat CQRS) opowiada się za całkowitym zamknięciem każdego obiektu domeny poprzez usunięcie wszystkich "pobierających".
Moje pytanie brzmi: w jaki sposób można przetestować funkcjonalność obiektu domeny, jeśli nie można odzyskać jego stanu?
Uważam, że brakuje mi czegoś fundamentalnego, więc proszę, nazwijcie mnie idiotą i oświećcie mnie - wszelkie wskazówki będą mile widziane.
Hah, chciałem przeczytać nieco więcej o tym dyrektorze "no getters" po przeczytaniu tego posta ... i ten post był pierwszym wynikiem w Google. –
Sądzę, że szukałem nazwy wzoru, który widziałem gdzie indziej. Najpierw obejrzałem film o separacji poleceń, która zalecała domenę tylko do zapisu i alternatywną ścieżkę do wysyłania zapytań do magazynu danych. Potem przeczytałem jeszcze kilka artykułów, które omawiały gettery naruszające hermetyzację itd. Może te terminy przyniosą lepsze wyniki wyszukiwania? – Justin
Z twojego komentarza, myślę, że prawdopodobnie to, co usłyszałeś, było "nie-ustawicielami". Wiele osób uważa, że ustawiacze naruszają hermetyzację.Zgadzam się ogólnie, że są nadużywane, ale w wielu przypadkach są nadal przydatne i konieczne. –