Применение паттерна Адаптер в Laravel

preview_player
Показать описание

Довольно часто возникает необходимость преобразовывать данные к формату, который требует некая сторонняя система, или же, если перефразировать, адаптировать существующие данные к соответствующему виду.

По сути, это типовая задача, поэтому в текущем видео на примере фреймворка Laravel и API-проекта будет показано, как можно использовать паттерн проектирования Адаптер для решения поставленной задачи. Хотелось бы отметить, что в уроке на практике будет показано применение паттерна без детального разбора теории по паттернам.
Рекомендации по теме
Комментарии
Автор

SOLID. Dependency Inversion в Laravel на примере паттерна Адаптер.
Переименуйте, ведь куда больше людей ищут информацию о SOLID чем о каком-то конкретном паттерне.

P.S. используй сразу название класса в конфиге, резолвить его можно без Switch. Таким образом убьёшь еще и Open closed principle (буква O в SOLID). Но так 9 из 10, молодец, очень правильно всё рассказал.

alexaverkiyev
Автор

Виктор, спасибо вам за ваш труд. Особенно радует то, что вы постепенно избавляетесь от ваших слов-паразитов - "по сути", "собственно", "согласны?", "да?", "конечно же" и пр.
Вы не поверите, но то, что вы очищаете вашу речь, в самом деле, делает уроки более привлекательными.
Ну, и не воспринимайте как ерничество или насмешку, а только как критическое замечание - избавьтесь от "сервАйс", "артИсан" и прочих "неправильно-ударенных" слов. Режет слух, чесссслова)
ну и, (с) "опять же", еще раз спасибо за уроки.

СергейВасиленко-мп
Автор

Просто ВАУ! Очень нехватает таких уроков по паттернам в Laravel! Объясняете очень понятно, хотелось от вас увидеть также реализацию Strategy, Abstract Factory, Factory Method, Composite... Ну вот эти самые популярные))
У меня один вопрос только по уроку - вот вы вручную меняли параметр конфигурации, а в провайдерах обращались к нему через параметр $app. А как в таком случае, например из обычного сервиса обратиться к этому параметру? Если мы например реализовываем апи, в котором принимаем параметр, указывающий какой формат использовать, этот параметр нам нужно прировнять для config/services - нашего параметра 'users_adapter', чтобы на его основании сработал нужный адаптер. Как в итоге обратиться к из сервисов?)

dmitryvarnavskikh
Автор

Виктор, а будет ли серия видео по теме design patterns относительно Ларавеля
и планируются ли видео по установке apache php mysql на *nix подобные системы?

gkuzcxz
Автор

Так вроде всё верно, но вот тот момент, что нужно вручную прописывать в config/service.php каждый раз выбор адаптера, такой себе подход, это не реализуемо на практике если на рабочем проекте например, магазине, одновременно есть апи как 1С так и CRM

samoilenko_roman
Автор

Сделайте видео как разбить проект по директории на ларавель. Например есть проект шопинг. Не используя апп директивы что бы были кастом директивы например папка продуктс и внутри его контроллеры, модели и т.д потом категории и внутри его свои контроллеры, модели и т.д

WeCoding
Автор

в начале видео: if else - это плохо, придется править код, когда будут другие адаптеры
в конце видео: а давайте сделаем switch
инфoцыгaне, такие инфoцыгaне...

andreyk
Автор

вы что очень странное делаете. Так то паттерн адаптер он про интерфейсы, а вы преобразует данные и это скорее транслятор, а для этого, как уже писали, в ларе есть ресурсы, а вот выбором нужного ресурса должна заниматься фабрика...

a.eliseev