Eugen Su
Eugen Su
Anonymous
Anonymous
Анемики это не единственное решение, и далеко не лучшее
Eugen Su
И ты такой ну бля ок, пойду работку поменяю
Anonymous
Maxim Kainov
Удивительно)))
Внимательно почитай, там может быть наследование, а может быть композиция у ентити
Anonymous
Поговорил с тимлидом
@
Ткнул его аргументами в то что анемка не гуд
@
Пилишь себе рич модел
Eugen Su
Anonymous
Eugen Su
Уф
Eugen Su
Лучше без ООП тогда уж
Anonymous
Я вот пока ещё ни разу не использовал трейт
Anonymous
Ни один
Anonymous
Объясните зачем
Maxim Kainov
Maxim Kainov
Как бы
Eugen Su
Eugen Su
Энтити на следуют данные, видимо из бд?
Anonymous
Eugen Su
Што
Ну аргумент который я слышал это экономит строчки время и типа ты што а как же dry
Eugen Su
Вот с драя я всегда проигрываю
Anonymous
Мммм...это очень интересно но совсем непонятно
Anonymous
Я даже интерфейсы не так часто пользую
Maxim Kainov
Не совсем понял фразу
class MyEntity { private MyDataStructure }
Или
class MyEntity extends MyDataStructure
Anonymous
Eugen Su
Кек
Anonymous
А нет
Anonymous
Вру
Eugen Su
Тут видимо влоденная сущность?
Eugen Su
Или отношения?
Anonymous
Anonymous
Я уже потерял нить зачем там вложенная может быть
Maxim Kainov
Из статьи той
Anonymous
Если вложенная сущность то это Embeddable Data Object в качестве свойства внутри основной сущности
Anonymous
Например private EmbeddableFoo $foo
Alexander
за час 151 сообщение - монстры)))
Anonymous
Да просто я зашёл в чат и начал бомбить
Anonymous
https://medium.com/@adamquaile/composition-over-inheritance-in-doctrine-repositories-f6a53a026f60
Ну кстати звучит весьма разумно использовать репозитории в таком виде, а не наследовать кучу оверхеда
Anonymous
Завтра приду и перепилю нахуй
Maxim Kainov
Оба варианта приемлемы
Anonymous
Ну то есть проще говоря анемик vs рич
Anonymous
Anonymous
Если все дрочат правой, не значит что дрочить правой лучше
Сергей
Всем привет.
А кто-нибудь юзает сонату?
Не получается создавать энтити, у которых в конструкторе есть входные параметры, используя при этом сонату.
Где-то у нее в недрах создается экземпляр этого энтити без параметров и всё идёт по известному месту.
Можно это как-то обойти?
Maxim Kainov
Maxim Kainov
Alexander
Сергей
Да ошибок нет. Просто создается инстанс без конструктора. Соответственно всё что должно быть заполнено в итоге не заполнено.
Юра
По-моему все эти холивары бесполезны. Главное чтобы код был понятен, расширяем, тестируем, а как там оно устроено вообще не важно, дто, не дто реально ну какая разница. Если ты можешь открыть код который писал не ты и довольно быстро понять что происходит, это наверное самое главное
Юра
А есть суперстары и прочие непонятые гении которые пишут код, понятный только им, зато в одну строку
Юра
С этой позиции наверное ДТО выглядит в выигрыше, потому что на выходе более понятный и главное явный код. Ты видишь что происходит, тебе не надо лезсть в аннотации чтобы понять какиеьполя мапятся.
Юра
Но зато есть оверхед небольшой. Вот вам и баланс, понятности и оверхеда
Гена
Maxim Kainov
Андрей
Основное назначение ДТО в том, что у тебя модель всегда будет валидная и работоспособная
Юра
Хз. Я использовал ДТО на платежке, когда важно было исключить всякие неожиданности. Обычно дто не использую
Maxim Kainov
Андрей
В случае с тотальными анемиками отдельно писать дто таки бесполезно. Они по сути и есть дто.
Maxim Kainov
Андрей
А вот для рич моделей нужны дтошки
Maxim Kainov
Еще если писать всю логику в ентити, она у тебя может сильно разрастись, и разделять ее будет проблематично
Maxim Kainov
Короче одни проблемы от этой рич модели
Maxim Kainov
Хз зачем создавать себе лишние трудности
Egor
Юра
Сначала сделать рич модель чтобы потом сделать дто
Юра
Вай
Юра
И вообще мне до сих ге понятно где начинается РИЧ в модели
Юра
С какого момента
Юра
Если к примеру там геттер который считает что-то это рич?
Maxim Kainov
Maxim Kainov
В симфони везде во всех примерах делают так. Нет, надо решить, что разрабочики дураки и делать по своему, извращаясь разными способами и не понятно зачем.
Юра
Я вообще против любых рич моделей, мне кажется это нарушение принципа синг респонсибилити
Maxim Kainov