Я на 80% уверен, что мне не следует задавать этот вопрос, потому что это может показаться отрицательным, и я имею в виду отсутствие неуважения к кому-либо, особенно к автору этой книги. Я видел несколько сообщений, рекомендующих это book и его компаньона project. Я не читал книгу, но сегодня я провел несколько часов, изучая этот проект. И хотя это выглядит очень полно, мне очень трудно разобраться, насколько детали разных вещей разбросаны. Я борюсь в своих собственных проектах с тем, насколько я должен измениться, если сущность изменится, и этот проект не делает меня очень удобным в качестве решения.Действительно ли это DDD?
Например, есть объект Employee, который наследуется от Лица. У человека есть конструктор с именем, фамилией и т. Д., И, следовательно, Employee. Private to Employee - это члены для имени, фамилии, а также для общедоступных объектов.
Существует EmployeeFactory, который знает о свойствах Employee и Person, а также имена столбцов SQL (чтобы вытащить значения из считывателя).
Существует EmployeeRepository с нереализованными методами PersistNewItem и PersistUpdatedItem, которые, как я подозреваю, будут реализованы при построении SQL для инструкций INSERT и UPDATE, как я вижу в CompanyRepository. Они записывают свойства в строки для построения SQL.
Существует «Контракт данных» PersonContract с теми же частными членами и общедоступными объектами, что и Person, и EmployeeContract, который наследует PersonContract как Employee does Person, с публичными свойствами, отражающими объекты.
Существует статический класс «конвертер» со статическими методами, отображающих объекты в договорах, в том числе
EmployeeContract ToEmployeeContract(Employee employee)
который копирует поля от одного к другому, в том числе Person полей. Может быть, сопутствующий метод, который идет в другую сторону - не уверен.
Я думаю, что есть модульные тесты.
Во всех случаях я считаю 5-10 классов, методов и конструкторов с подробными сведениями об объектных свойствах. Возможно, они автогенерированы - не уверен. Если мне нужно было добавить «Приветствие» или другое свойство Лицу, мне пришлось бы корректировать все эти классы/методы? Я уверен, что что-то забуду.
Опять же, я имею в виду отсутствие неуважения, и это, кажется, очень подробный, подробный пример для книги. Это как DDD?
Кстати, я поддержал вас, потому что я думаю, что это * отличный * вопрос. –