Правильно ли я понимаю фасад в Laravel?

Ковыряюсь с Laravel и реализация фасада в формате Illuminate\Support\Facades мне не совсем понятна.
В моем представлении паттерн Фасад представляет собой единую точку доступа к цельному пакету, который состоит из нескольких классов (или любой другой цельной структуре состоящей из частей). То есть, вместо того чтобы оперировать внутренними классами пакета, мы оперируем фасадом, который транслирует нужный функционал из нужных классов или классов пакета. Тем самым достигается инкапсуляция пакета, и уход от лишних зависимостей.

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

Это у меня не правильное понимание паттерна Фасад сложилось, или не я не правильно понял его реализацию в Laravel?
  • Вопрос задан
  • 3910 просмотров
Пригласить эксперта
Ответы на вопрос 3
JhaoDa
@JhaoDa
LaravelRUS Team
Да, в Laravel это просто обёртка для алиаса в контейнере.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Ну как, в более упрощенном виде под термином "фасад" понимают "более простой интерфейс, скрывающий сложность реализации". То есть статический метод вместо обращения к IoC как бы подходит по описанию но как-то убого, да.

Вроде как в 5-ой ларавели можно уже обойтись совсем без этой сатаны со статикой.
Ответ написан
Комментировать
@rsi
software engineer
Вы все правильно описали, в ларе фасад это не реализация паттерна фасад.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы