Я рассказываю о некоторых концепциях, лежащих в основе дизайна, основанного на распределенных доменах, и я создаю доказательство концепции. У меня есть три решения C#, которые несут определенную ответственность в рамках всей системы.
Решения, которые у меня есть:
- Модель записи (получает команды от клиента, создает и отправляет события)
- Модель чтения (получает события из модели записи, создает базу данных и предоставляет услуги DTO клиенту, потенциально может быть двумя отдельными решениями)
- Клиент (вызывает службы для получения необходимых данных и отправляет команды модели записи)
Все три решения используют обмен сообщениями (команды, события) через служебную шину. (Массовый транспорт в моем случае).
Мой главный вопрос: является ли обычной практикой создание сборки с сообщениями и наличие ссылки на эту сборку в каждом решении?
Дополнительный балл: Есть ли что-то, что я делаю, что кажется странным или проблематичным в этом POC? Любая дополнительная информация, о которой я должен знать при создании такого типа системы?