Я тоже так и не понял
есть кейсы где абстрактным классом не решить проблему. нужно либо кучу лишнего кода городить либо трейт запилить.
Нет таких кейсов. Есть композиция
ну например, ты делаешь фабрики для моделей. У фабрики есть базовый класс. Но для одного ряда фабрик тебе надо добавить доп поведение. А для другого ряда фабрик другое поведение. И у тебя есть варианты: 1) Копипастить 2) Создавать x промежуточных родительских классов 3) Запилить трейты, подмешивающие поведение в класс. 4) ?
Создать отдельный обьект
Можно, но иногда это оверинжениринг и гораздо изящнее получается трейтами разрулить. Не частые кейсы, но они встречаются, в том числе в коде самого ларавель. Не вижу ничего плохого) инструмент добавили явно не просто так чтоб им не пользоваться 🙂
просто некоторые ленятся сделать нормально.
Обсуждают сегодня