Modello di dominio per un sistema di notifica

1

Sto cercando di creare un servizio di notifica modulare in un'applicazione Web ASP.NET MVC. L'applicazione genera notifiche e il servizio è responsabile per la consegna delle notifiche agli utenti giusti. Quando si crea un modello di dominio per il servizio di notifica, l'ereditarietà viene naturalmente alla mente.

Unodeirequisitiperilserviziodinotificaèchegliutentipossonoessereabbonatiaparticolaritipidinotifica.Adesempio,UtentepuòiscriversiperriceverenotificheNewMessagemanonnotificheProfileNotification.

Comesirappresenterebbeunarelazioneincuiunutentehaunasottoscrizioneauntipodinotifica,mailtipodinotificaèrappresentatotramiteereditarietà.Certo,questopotrebbeesserepossibileattraversolariflessione,mamichiedevoseesistesseunmodellodidominiocheprovenissenaturalmentedallemieesigenzepoichénonriuscivoapensarneuno.

Sto utilizzando ASP.NET MVC e il primo Entity Framework Code, ma penso che la domanda sia abbastanza generale per qualsiasi linguaggio di programmazione orientato agli oggetti.

    
posta dominiktomicevic 02.08.2014 - 18:00
fonte

1 risposta

1

Dalla tua descrizione, non sembra che tu debba usare l'ereditarietà - puoi farlo con una relazione uno-a-uno e uno-a-molti.

Vorrei creare tre oggetti:

  • NotificationTypes
  • Notifiche
  • Utenti

Le notifiche verrebbero assegnate a un NotificationType e gli utenti verrebbero abbonati a più NotificationTypes.

Ecco un modello visivo:

Notification Types:

type name
-----------------------
group
profile

Notifications:

message   | type
-----------------------
message 1 | group
message 2 | group
message 3 | profile
message 4 | profile

Users:

user name  | subscribed types
------------------------------
john smith | group
jane smith | profile
jack smith | profile,group
    
risposta data 07.08.2014 - 23:51
fonte