API? (Это API может время от времени меняться на другое)
composer пакет для описания стороннего API на уровне ларавел - services классы с заранее предопределенным интерфейсом
Пихать в сервис а потом через фасад регистрировать?
Как меняется на другое? Сильно отличаются?
Условно сегодня пользуюсь платежной системой «A» (у нее свои методы), а завтра платежной «В» (уже другие методы), а в самом сервисе я вызываю лишь один метод - PaymentSystem::getCheckoutLink($someData).
Объект новый создали , new SmsService() к примеру. В конструктор ему передали конфиг того провайдера sms, который собираетесь использовать и вперед. Для этого явно есть какой то паттерн, но я без них обходился
создаешь единый интерфейс, хоть и методы имеют разное название, но они обычно имеют один и тот же функционал, а далее на основе данного интерфейса делаешь классы прослойки для работы с разными поставщиками платежных услуг, и когда нужно подменить один на другой, что черep DI при потребности класса от интерфейса создаешь тот или иной класс
Ну тогда всё верно, сведи к интерфейсу, дай один метод. Потом наследуй свои А и В системы от него
Абстрактная фабрика вроде
Обсуждают сегодня