в надежде на некоторые советы по моей архитектуресообщение Bus против слоистого
В настоящее время я использовал многоуровневую архитектуру, но нечто становится немного сложным и думал сообщение автобуса будет гораздо более полезным
У меня есть контроллер действие под названием «CreateTeam» в TeamControler
Каковы огни метода TeamService CreateTeam, а затем также срабатывает метод PlayerService «CreatePlayers».
Что означает мой метод TeamController «CreateTeam» имеет два responsilibites
Но когда пользователь создает команду, мне нужны игроки, которые будут созданы также.
Так было бы лучше, если CreateTeam также запускает событие TeamCreated, которое было выбрано в другом месте? Предоставление единой ответственности и разделение проблем?
Кроме того, я никогда не использовал шаблон шины сообщений, прежде чем надеяться, что это не смущает кого-либо, но верно ли, что события поднимаются, когда автобус поднимается и что-то прослушивает? Значит, это будет Tell, не спрашивайте?
И, наконец, слушатели на шине сообщений могут ли они быть сетевыми контроллерами api? Вместо этого много разных приложений? Таким образом, мой метод PlayerController с CreatePlayers может быть запущен при создании CreateTeamEvent?
Я не эксперт по архитектуре, но могу иметь отношение к структуре моего основного приложения. В принципе, я бы представил сценарий, в котором вы больше не взаимодействуете с основной бизнес-логикой с помощью контроллера. Тогда интеллект для создания игроков остался бы исключительно в вашем классе обслуживания. Если вы этого не сделаете, другой абонент класса Service не будет знать, что делать. Если новая Команда должна всегда создавать новых Игроков, то пусть Служба сделает это. Тогда это означает, что ваши слушатели сообщений звонят в Службу, вместо того, чтобы пытаться получить контроллер для получения сообщений. –