Data Transfer Object (Объект передачи данных) — паттерн программирования, который, при правильном использовании, может улучшить качество код и удобство его…
паттерны
Шаблоны проектирования на примерах Laravel
![](https://laravel.demiart.ru/wp-content/uploads/2021/11/pattern-action-domain-responder-363x202.jpg)
Паттерн Action-Domain-Responder
Является усовершенствованием паттерна Model-View-Controller и более удобен для создания веб-приложений. Большинство фреймворков на данный момент использует MVC. Впервые он был…
![Паттерн Двойная диспетчеризация](https://laravel.demiart.ru/wp-content/uploads/2021/06/double-dispatch-pattern-363x202.jpg)
Паттерн «Двойная диспетчеризация»
Рассмотрим паттерн программирования известный как Двойная диспетчеризация (Double Dispatch). Выбор вызываемого метода зависит только от объекта, получающего вызов. В большинстве…
![Паттерн программирования Посетитель](https://laravel.demiart.ru/wp-content/uploads/2020/06/pattern-visitor-363x202.jpg)
Паттерн «Посетитель» в Laravel
Laravel Visitor — это реализация паттерна программирования «Посетитель» для фреймворка Laravel. Он позволяет легко выполнить обработку набора произвольных элементов, без…
![Паттерн Фабричный метод](https://laravel.demiart.ru/wp-content/uploads/2020/05/factory-363x202.jpg)
Паттерн Фабричный метод — продвинутая версия
Фабричный метод — это паттерн программирования, который используется для получения экземпляров объектов на основе некоторого заданного параметра. В своих PHP-проектах,…
![](https://laravel.demiart.ru/wp-content/uploads/2020/01/manager-363x202.png)
Скрытый класс Manager
При создании приложений вам может понадобиться класс, который принимает разные реализации чего-либо. Например, курьеру доставки может понадобиться любой транспорт, чтобы…
![Использование гвардов при рефакторинге кода](https://laravel.demiart.ru/wp-content/uploads/2019/09/guards-363x202.jpg)
Уменьшаем сложность кода с помощью гвардов
Гвард (guard)— это фрагмент кода в верхней части функции или метода, который делает return, если выполняется некоторое предварительное условие. Я…
![Паттерн Сервисный слой в Ларавел](https://laravel.demiart.ru/wp-content/uploads/2019/06/pattern-service-layer-363x202.jpg)
Паттерн «Сервисный слой» в Laravel
Сервисный слой (Service layer) — это шаблон проектирования, который поможет вам абстрагировать логику от логики предметной области (domain logic), при…
![Паттерн Адаптер в Ларавел](https://laravel.demiart.ru/wp-content/uploads/2019/06/pattern-adapter-363x202.jpg)
Паттерн «Адаптер» в Laravel
В этой статье мы рассмотрим, как можно использовать шаблон проектирования «Адаптер» в Laravel и его преимущества на примере из реальной…
![Шаблон Декоратор в Ларавел](https://laravel.demiart.ru/wp-content/uploads/2019/05/decorator-1-363x202.jpg)
Паттерн «Декоратор»
Паттерн Декоратора — это шаблон проектирования, который позволяет добавлять поведение экземпляру класса, не влияя на поведение других экземпляров того же…
![Паттерн Репозиторий в Ларавел](https://laravel.demiart.ru/wp-content/uploads/2019/05/pattern-repository-363x202.jpg)
Паттерн «Репозиторий» в Laravel
В этой статье я расскажу, как настроить с нуля паттерн Репозиторий (Repository, Хранилище) в Laravel. Использую версию Laravel 5.8, но…