компаньон - стандартная практика. У тебя есть тип данных и сразу рядом с ним инстансы для него
Далеко не всегда не важная. Если вы продаете условный json rest, то сериализация это бизнес логика
я правильно понимаю что обсуждается примешивание трейта (который определяет сериализацию) в компаньен доменного объекта и/или дто объекта? мне казалось тайпклассы как раз про то чтобы ты имел чистый доменный объект, и для него вокруг настраивал нужные функциональности, не работая с ним напрямую. не то чтобы я сильно против примешивать в компаньен, но попахивает антипаттерном и вообще кейк паттерном каким-то
Да. Мой case class MyData очень чистый, он ничего не знает ни про какие там тайпклассы.
но object MyData трогается, верно? не, я в целом все понимаю, и не говорю что это плохо. и в определенном скоупе это удобнее но легко представить теоретический кейс, когда доменный объект используется в 100 функциональностях (допустим некая core либа большой корпорации с сотнями микросервисов). и функциональности то добавляются то выпиливаются. тогда компаньен будет постоянно дербанится в гите. а какие-то имлиситы или примешивания могут начать конфликтовать или влиять друг на друга я ведь верно рассуждаю?
Трогается. Но object MyData не является определением данных.
приоритеты имплиситов всегда есть; переопределить не сложно
Обсуждают сегодня