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