штуки в объекты не по тому, насколько вместе они ходят, а по тому, что они вместе влияют на что-то, но друг на друга они никак не влияют и могут меняться совершенно независимо друг от друга?
поясню на примере - есть условная сущность Car. У машины есть флаг - показывать ли её в рекламе. Если машина красная, бэушная, это не седан и у неё пробег больше 100к - не показываем её в рекламе. И вопрос в том - стоит ли объединять эти свойства в какой-то VO, чтоб было проще вычислять флаг рекламы или это говноидея?
сложно по такому описанию что то посоветовать. Если Car может на основе своих данных типа, седан, пробег и т.п. вернуть true\false рекламы то почему бы это не сделать просто методом? Но если логика определения рекламы не такая явная, и может быть сложнее таких простых правил как пробег и тип, ну скажем пользователь забанил автора этой тачки, и не хочет видеть с ней рекламу, то true/false уже так просто не посчитать. Если речь о каком то ДТО который должен передаться с флагом релкамы, то вполне нормально его просчитать заранее и передать как флаг. Тут наверное в дело должны включаться контексты.
нене, там никакию люди и авторы никак не вовлечены. флаг считается только на основании этих 3-5 свойств объекта. и свойства эти сами по себе не "рекламные", а просто вот так построена логика, что именно от них зависит показ в рекламе. а список тачек для рекламы обновляется раз в сутки кроном, который просто приходит в таблицу и выгребаёт всё с флагом
в чем тогда вопрос, если у вас в таблице и так хранится флаг?
В том, что если эти флаги вместе друг от друга не зависят, но в куче влияют ещё на один - несколько правильно их объединять в какой-то один объект) Но я не исключаю, что какую-то ерунду спрашиваю) 😶
Для чего объединять? Что вам на практике это даст? Вы перенесете эти свойства из вашего класса, в какой то VO? На сколько ваши Car могут жить без этих свойств?
Вопрос наверное связан с агрегацией и композицией?
Обсуждают сегодня