После нескольких лет после неудачной практики, переданной от «архитекторов» на моем месте работы, и думая, что должен быть лучший способ, я недавно читал о TDD и DDD и мне подумайте, что принципы и практика будут отлично подходить для сложности программного обеспечения, которое мы пишем.TDD, DDD и инкапсуляция
Однако многие из образцов TDD, которые я видел, вызывают метод объекта домена, а затем проверяют свойства объекта, чтобы обеспечить корректное выполнение поведения.
С другой стороны, несколько уважаемых людей в отрасли (Грег Янг наиболее заметно с его переговорами о CQRS) защищают полностью инкапсулирование каждого объекта домена, удаляя все «геттеры».
Мой вопрос заключается в следующем: как проверить функциональность объекта домена, если ему запрещено получать его состояние?
Я считаю, что у меня нет чего-то фундаментального, поэтому, пожалуйста, не стесняйтесь называть меня идиотом и просвещать меня - любое руководство будет очень благодарно.
ХА, я хотел прочитать немного больше об этом принципе «без геттеров» после прочтения этого сообщения ... и этот пост стал первым результатом Google. –
Я предполагаю, что я искал имя для шаблона, который я видел в другом месте. Сначала я смотрел видео о разделении команд-запросов, которое выступало за домен с записью и альтернативный путь для запроса хранилища данных. Затем я прочитал еще несколько статей, в которых обсуждались геттеры, нарушающие инкапсуляцию и т. Д. Возможно, эти условия приведут к лучшим результатам поиска? – Justin
С вашего комментария, я думаю, что, скорее всего, вы слышали «не-сеттеры». Многие считают, что сеттеры нарушают инкапсуляцию.Я на самом деле соглашаюсь в целом, что они злоупотребляют, но по-прежнему полезны и необходимы во многих случаях. –