Является ли ответственность CommandBus как отправкой, так и обработкой команд или просто обработкой команд?Обязанности CommandBus
Это правильно определить интерфейс, как показано ниже:
interface ICommandBus
{
void SendCommand(ICommand commad);
void HandleCommand(ICommand commad);
}
Верно ли, что интерфейс имеет как передавать и обрабатывать методы?
Отправить отвечает отправить команду через шину или конкретные получатель
Ручки для обработки конкретной команды, если это возможно
Хотя это правда, что CommandBus должен знать обработчики, принцип интерфейса сегрегация говорит нам о том, что 'Register'-method, вероятно, не представляет интереса для клиентов, которые просто хотят отправлять команды на шину. ((В частности, CommandBus может использовать другие методы или обнаружение обработчика команд под капотом (например, поиск по модулю), что делает метод регистрации на интерфейсе устаревшим.)) –
Да хорошие моменты – tomliversidge