Traits vs Behaviors

Q&A
Кто что предпочитает? Какие плюсы и минусы есть? Я раньше их не использовал. Но сейчас в проекте слишком разрослись модели, хочется их разделить. Что по вашему лучше использовать?

1 комментарий

avatar
Я лично предпочитаю использовать трейты. Поддержка автокомплита ide в больших проектах очень важна. Но для твоего случая, мне кажется, лучше использовать декомпозицию. То есть вынести части функционала в дочерние классы. Это сделает код более читаемым. Вместо
User()->balanceAddCash(200);
User()->holdCash(100);
Лучше будет сделать
User()->balance()->add(200);
User()->balance()->hold(100);
Красивее и нагляднее. Имхо.

Оставить комментарий