основании других колонок и записывается в базу. Считается при вызове не статического методам в модели. Нужно вызвать расчет хеша для поиска подобных в базе. Насколько плохо создавать и заполнять обьект модели только для того чтобы посчитать хеш? Или лучше делать статический метод куда будешь передавать параметрами нужные стринги?
Нормально, если моделька довольно чистая, только с этим методом, то почему бы нет. Вопрос только нахуя вам хэши в бд?
Вопрос понятен, ситуация сложная. Один вариант это вынести алгоритм расчетах хеша в доменный сервис (можно в статический метод). Этот сервис может принимать как объект агрегата, так и значимые поля (можно перегрузками сделать) и возвращать хеш. Для агрегата будешь все так же его дергать из метода в самом агрегате, а для твоей текущей задачи дергать его без агрегата. Второй вариант это подумать о том, что этот хеш это какая-то деталь реализации хранения. Может этот хеш в принципе не трогать в домене, а рассчитывать и менять в слое persistence перед сохранением (может быть в infrastructure, если отдельного слоя для persistence нет). Похоже на Concurrency Token для оптимистичных блокировок.
Обсуждают сегодня