@fixxxer, как-раз думаю, что надо расписать на примере.
Надо проверить статус платежа заказа. Состояние платежа доступно по API PayPal или Robocassa.
Получаю детали заказа из базы, в них метод платежа. По методу платежа выполняю стратегию или фабрику, и получаю адаптер платежной системы.
Адаптер надо инъектнуть в модель-проверяльщик, которая по результату запроса сменит поле статуса оплаты заказа в базе.
Можно из адаптера сделать модель, получать из нее статус платежа и передавать в обновляльщик. В дизайне не бывает единственного решения. Но адаптер - это не модель, а сервис, не вижу смысла городить из него сущность.
Надо проверить статус платежа заказа. Состояние платежа доступно по API PayPal или Robocassa.
Получаю детали заказа из базы, в них метод платежа. По методу платежа выполняю стратегию или фабрику, и получаю адаптер платежной системы.
Адаптер надо инъектнуть в модель-проверяльщик, которая по результату запроса сменит поле статуса оплаты заказа в базе.
Можно из адаптера сделать модель, получать из нее статус платежа и передавать в обновляльщик. В дизайне не бывает единственного решения. Но адаптер - это не модель, а сервис, не вижу смысла городить из него сущность.
Последнее редактирование: