2012-04-11 6 views
0

Ein Benutzer fragt nach neuesten Nachrichten, die Nachrichten erhalten Daten aus mehreren Quellen (Beiträge, Benutzer, Fotos, Kommentare). Wie würden Sie die Nachrichten modellieren?Wo ist die Logik für gekoppelte Domänenmodelle am besten?

Ist es gut, ein Gateway zu haben, das diese Tabellen koppelt + einen Dienst, der die Daten vom gekoppelten Gateway erhält und die Daten als Antwort behandelt? Oder ein Domänenmodell, das die anderen Modelle koppelt (dies würde bedeuten, dass in eines dieser Gateways eine lange Abfrage eingefügt wird, die meines Erachtens ein separates Gateway benötigt).

Antwort

1

Ich würde einen NewsService erstellen, da es die Erstellung der Nachrichten koordinieren würde, aber jede spezifische Verantwortung auf das entsprechende Modell verschieben würde. Wenn es ein Nachrichtenfeed ist, wie in Facebook, würde ich ein anderes Modell erstellen, NewsItem, das bei der Eingabe eines neuen Posts, Fotos usw. erstellt wird. Auf diese Weise würde die Verantwortung für den Aufbau der Nachrichten mehr in Ihr Domain-Modell und Ihren NewsService fallen würde eigentlich nur die Konstruktion der Liste orchestrieren. Sie können je nach App auch nur ein NewsRepository verwenden.