На мой взгляд ... я думаю, что старой классической MVC будет достаточно ..
Ответ от команд API, возможно, должен быть отформатирован в другом
форматы (JSON, XML и т. д.)
Контроллер считывает запрос и изменяет представление для вывода информации в выбранном формате. Или вы можете передать запрос представлению, и представление изменит формат вывода.
Для некоторых команд API может потребоваться аутентификация, для некоторых - нет
Это также задача для контроллера, чтобы прочитать и проверить запрос. Если пользователь не аутентифицирован, он изменит ответ
Каждая команда API должна быть открыта для расширения через плагины (уведомление о событиях, фильтрация параметров ввода / вывода и т. Д.)
Теперь это сложная часть ... вы можете изменить контроллер и реализовать шаблон стратегии. Это хорошая идея, если вы планируете постоянно менять свои плагины.
В моем случае у меня есть несколько контроллеров, и я использую фабрику контроллеров, которая читает запрос и возвращает контроллер, который управляет этим запросом.
Я не совсем уверен, как вы хотите реализовать свои плагины. Когда вы говорите Notification on events
, мне кажется, что вы можете использовать шаблон наблюдателя, а filtering of input/output paramters
кажется задачей контроллера.
Надеюсь, это поможет. Удачи