Страница 1 из 1

Что упущено в публикации по архитектуре?

Добавлено: 2020.05.27, 15:26
user
Начал читать вот эту публикацию Дмитрия, думаю я быстрее получу ответ, чем ждать в блоге :)

После прочтения первой статьи возникло ряд вопросов. Делал на примере своей сущности.

Во-первых, получился огромный класс сущности. Нормально ли это или лучше раздробить его?

Во-вторых. У, Дмитрий есть сущность Employee у нее есть статусы и целая логика работы с ними. Если появиться еще одна сущность и у нее тоже будут статусы и там тоже будет аналогичная логика, т.е. код будет дублироваться.
А если это вынести? Но для статусов идентификатор не нужен, т.е. сущностью уже не назовешь. там просто перечень констант, его вообще в интерфейс перенести можно. Если выносить, то куда?

Re: Что упущено в публикации по архитектуре?

Добавлено: 2020.05.27, 23:28
ElisDN
user писал(а): 2020.05.27, 15:26Во-первых, получился огромный класс сущности. Нормально ли это или лучше раздробить его?
Не нормально. Лучше раздробить по ограниченным контекстам на несколько сущностей с одинаковым id. Например, разнести на Person для хранения имени, Employee для табельного номера и т.д.
user писал(а): 2020.05.27, 15:26Если появиться еще одна сущность и у нее тоже будут статусы и там тоже будет аналогичная логика, т.е. код будет дублироваться. А если это вынести?
Если что-то дублируется, то это не всегда значит, что это вещь полностью аналогичная. Email почти всегда можно вынести в общую папку. А статусы со временем могут внезапно стать разными, если вдруг захочется у сотрудника добавить ещё одно значение. Так что статусы лучше дублировать.

А так материалы тех статей на практике рассматриваются здесь. Как раз там будем делать разделение сущностей по контекстам и остальные нюансы.

Re: Что упущено в публикации по архитектуре?

Добавлено: 2020.05.28, 13:32
user
Дмитрий, спасибо!
У меня есть подписка на вашем ресурсе, никак не дождусь когда вы закончите последний урок из блока по ООП :)

Возможно мне надо все статьи прочитать, чтобы была вся картина.

Что имеется ввиду "общая папка", это которая с сущностными?
А статусы со временем могут внезапно стать разными, если вдруг захочется у сотрудника добавить ещё одно значение.
ведь можно расширить имеющийся функционал.

Re: Что упущено в публикации по архитектуре?

Добавлено: 2020.05.28, 20:33
ElisDN
user писал(а): 2020.05.28, 13:32Что имеется ввиду "общая папка", это которая с сущностными?
Любая. Хоть как здесь общий класс Meta лежит в корне.
ведь можно расширить имеющийся функционал.
А потом внезапно получаем лапшекод вроде UserStatus extends PostStatus extends ProductStatus, где непонятно как это тестировать и кто от кого и для чего зависит. Так что наследование часто со временем к месиву приводит.