Хориков приводит пример Date/DateTime как пример волатильной зависимости на которую предметная область не должна завязываться.
Объекты Date/DateTime это еще и внепроцессная зависимость или только волатильная зависимоcть? Какой практический смысл изолировать предметную область от Date/DateTime?
так мы можем пойти дальше - давайте не будем завязываться от языка программирования, он же тоже волатильная зависимость. Давайте будем для каждого продукта делать свой DSL
- влияния инфраструктуры и ограничений инфраструктуры на возможности бизнес логики - уменьшить вероятность каскада изменений за счет изоляции зависимостей которые меняются слишком часто. объекты стандартной библиотеки крайне стабильны.
проблема в том что не надо "предметную область" воспринимать как что-то одно. аутентификация - у нее свой под домен и там хэширование пароля может быть частью бизнес логики. Почему бы нет. Но не надо это на один уровень смещать с логикой вычисления скидов например. Или еще чем-нибудь.
а быть может все DDD для такого дженерик контекста будет заканчиваться границами контекста и точками интеграции с ним - пример - твоей системе нужна система тикетов для суппорта. Ты можешь ее дизайнить по DDD там и обмазываться своими слоями. А можешь купить helpdesk какой клаудовый и интегрировать.
по-моему практический смысл в том, что ты например можешь сделать тесты на нужный тебе момент времени. А если new DateTime будет внутри, то придётся упражняться во всяких там таймстопах и прочих стабах. Ну и в целом могут быть кейсы когда надо "задним числом" что-то делать
если нет логики связанной со временем - это уже и не твоя основная предметная область, тебе просто по какой-то причине хочется знать когда был апдейт или криейт. Возможно тебе нужен какой-то аудит. Думаю вопрос в том, зачем тебе понадобились эти поля и что ты с ними будешь делать
Мне кажется если для ui, то как раз расходится. Типа как может в ui попасть то, что не было создано в ходе бизнес транзакции. А если чисто для аудита, то нет. Ну наверное