Если вы используете Laravel в своем проекте достаточно долго, скорее всего ваши Eloquent-модели стали довольно большими. Со временем их становится все труднее поддерживать, по мере того, как они обрастают функционалом. Когда вы пишете код для каждого случая, где вы используете ваши модели, возникает соблазн "откормить" наши модели до тех пор, пока они не разжиреют.
В таких ситуациях мы можем воспользоваться паттерном Декоратор, который позволит нам выделить код, специфичный для каждого случая в отдельный класс. Например, мы можем использовать декораторы для того, чтобы разделить формирование представления для PDF-документа, CSV или ответа API.Читать полностью »