После нескольких лет после неудачной практики, переданной от "архитекторов" на моем месте работы, и думая, что должен быть лучший способ, я недавно читал о TDD и DDD, и я думаю, что принципы и практики будет отлично подходит для сложности программного обеспечения, которое мы пишем.
Однако многие из образцов TDD, которые я видел, вызывают метод на объекте домена, а затем проверяют свойства объекта, чтобы обеспечить корректное выполнение поведения.
С другой стороны, несколько уважаемых людей в отрасли (Грег Янг наиболее заметно с его переговорами о CQRS) выступают за полное инкапсулирование каждого объекта домена, удаляя все "геттеры".
Итак, мой вопрос: как проверить функциональность объекта домена, если ему запрещено получать его состояние?
Я считаю, что у меня нет чего-то фундаментального, поэтому, пожалуйста, не стесняйтесь называть меня идиотом и просвещать меня - любое руководство будет очень благодарно.