Я пытаюсь создать решение, управляемое событиями, которое имеет несколько различных ограниченных контекстов, использующих опубликованное событие. Решения основаны на .Net 8 и C#.
Вот пример проблемы:
[*]У меня есть один ограниченный контекст. /solution, которое публикует событие в сетке событий Azure. Событие — MemberCreatedIntegrationEvent.
[*]Существует 3 потребляющих ограниченных контекста/решения этого события.
[*]Субъект Member имеет несколько адресов, каждый из которых имеет строку свойства для адреса1, города, штата и почтового индекса.
[*]Конечно, у Member есть гораздо больше свойств, чем адреса. У него есть еще 8 свойств, которые представляют собой коллекции свойств (например, CreditCards, PhoneNumbers и т. д.). Я упоминаю об этом, чтобы иметь в виду потенциальные решения.
[*]MemberCreatedIntegrationEvent.cs является частью общего пакета nuget для всех решений.
Предлагаемое решение 1. MemberCreatedIntegrationEvent содержит подход типа модели/DTO, например:
public class MemberDEIPreferenceCreatedIntegrationEvent : BaseIntegrationEvent
{
public MemberModel MemberCreated { get; private set; }
public string EventType => nameof(MemberCreatedIntegrationEvent);
}
Предлагаемое решение 2. MemberCreatedIntegrationEvent содержит только атрибуты всех базовых моделей, такие как:
public class MemberDEIPreferenceCreatedIntegrationEvent : BaseIntegrationEvent
{
public string MemberID { get; private set; }
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string Address1 { get; private set; }
public string City { get; private set; }
public string ZipCode { get; private set; }
public string State { get; private set; }
.. Other properties
public string EventType => nameof(MemberCreatedIntegrationEvent);
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... across-mul
Каковы лучшие практики совместного использования полезных данных событий интеграции между несколькими решениями .Net C#? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение