Начал читать вот эту публикацию Дмитрия, думаю я быстрее получу ответ, чем ждать в блоге
После прочтения первой статьи возникло ряд вопросов. Делал на примере своей сущности.
Во-первых, получился огромный класс сущности. Нормально ли это или лучше раздробить его?
Во-вторых. У, Дмитрий есть сущность Employee у нее есть статусы и целая логика работы с ними. Если появиться еще одна сущность и у нее тоже будут статусы и там тоже будет аналогичная логика, т.е. код будет дублироваться.
А если это вынести? Но для статусов идентификатор не нужен, т.е. сущностью уже не назовешь. там просто перечень констант, его вообще в интерфейс перенести можно. Если выносить, то куда?
Что упущено в публикации по архитектуре?
Re: Что упущено в публикации по архитектуре?
Не нормально. Лучше раздробить по ограниченным контекстам на несколько сущностей с одинаковым id. Например, разнести на Person для хранения имени, Employee для табельного номера и т.д.
Если что-то дублируется, то это не всегда значит, что это вещь полностью аналогичная. Email почти всегда можно вынести в общую папку. А статусы со временем могут внезапно стать разными, если вдруг захочется у сотрудника добавить ещё одно значение. Так что статусы лучше дублировать.
А так материалы тех статей на практике рассматриваются здесь. Как раз там будем делать разделение сущностей по контекстам и остальные нюансы.
Re: Что упущено в публикации по архитектуре?
Дмитрий, спасибо!
У меня есть подписка на вашем ресурсе, никак не дождусь когда вы закончите последний урок из блока по ООП
Возможно мне надо все статьи прочитать, чтобы была вся картина.
Что имеется ввиду "общая папка", это которая с сущностными?
У меня есть подписка на вашем ресурсе, никак не дождусь когда вы закончите последний урок из блока по ООП
Возможно мне надо все статьи прочитать, чтобы была вся картина.
Что имеется ввиду "общая папка", это которая с сущностными?
ведь можно расширить имеющийся функционал.А статусы со временем могут внезапно стать разными, если вдруг захочется у сотрудника добавить ещё одно значение.
Re: Что упущено в публикации по архитектуре?
Любая. Хоть как здесь общий класс Meta лежит в корне.
А потом внезапно получаем лапшекод вроде UserStatus extends PostStatus extends ProductStatus, где непонятно как это тестировать и кто от кого и для чего зависит. Так что наследование часто со временем к месиву приводит.ведь можно расширить имеющийся функционал.