Я пытаюсь решить, какую информацию должны содержать мои DTO для событий в сценарии pub / sub.
Я вижу две возможности:
1) Вся информация, которая может понадобитьсяподписчики
interface UserInvitedToGroup
{
string GroupName {get; set;}
string UserName {get; set;}
DateTime DateInvited {get; set;}
// etc, etc ...
}
или
2) Только идентификаторы затронутых объектов.
interface UserInvitedToGroup
{
int GroupId {get; set;}
int UserId {get; set;}
}
Очевидно, что в этом случае подписчику потребуется доступ к хранилищу данных какхорошо, чтобы получить информацию, которая на самом деле пригодна для использования.
Я склоняюсь ко второму, поскольку не уверен, какая именно информация понадобится подписчику.