Как унифицировать вызов однотипных по смыслу, но разных по реализации методов?
Например, нужно написать агрегатор сервисов рассылки смс-сообщений с сайта. У каждого сервиса есть свои api, в которых реализован некий метод а-ля send(собственно отправить сообщение). Но название этого метода и его сигнатура может меняться от сервиса к сервису. А нужно сделать так, чтобы в тех местах кода, где описывается бизнес-логика(БЛ) с использованием отправки сообщений использовался единый метод send(типа SmsSender::send()). Как правильно реализовать такое, какой паттерн подходит больше всего?
Спасибо за отклик! Вроде по описанию подходит. А вот как правильнее будет в методе SmsSender::send вызывать метод send соответствующего адаптера? В моем случае SmsSender похож чем-то на фасад.
Если сделать типа такого:
$sender = SmsSender::getServiceAdapter(); // метод отдает объект, на конструктор которого подали нужный адаптер. Этот объект внутри себя вызывает методы адаптера
$sender->send();