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

Обсуждаем, как правильно строить приложения
Ответить
user
Сообщения: 159
Зарегистрирован: 2017.12.05, 16:55

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

Сообщение user »

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

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

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

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

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

Сообщение ElisDN »

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

А так материалы тех статей на практике рассматриваются здесь. Как раз там будем делать разделение сущностей по контекстам и остальные нюансы.
user
Сообщения: 159
Зарегистрирован: 2017.12.05, 16:55

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

Сообщение user »

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

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

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

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

Сообщение ElisDN »

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