Externe Abhängigkeiten
Häufig benötigen Länder Daten aus anderen Ländern - beispielsweise um Abfragen performanter durchzuführen und dabei gecachte Daten vorzuhalten. Dieses Muster beschreibt, wie Daten, die hoheitlich einem anderen Baustein (i.A. Land) gehören im Code getrennt und deklariert werden können.
Design
Externe Abhängigkeiten werden an entsprechender Stelle annotiert oder kenntlich gemacht.
Implementierung
Zur Kennzeichnung der (aus Sicht der implementierende Komponente) externen Verantwortlichkeit
- wird in der Service-Fassade über das Subscriben die externe Abhängigkeit deutlich
- wird in den BusinessCases, der Domäne etc. der Namensraum External zur Trennung auf oberer Ebene eingezogen
- wird das Attribut ExternalResponsibility zur Kennzeichnung der externen Typen verwendet
using Schleupen.CS.PI.Framework.Entities.Metadata; [ExternalResponsibility] public partial class BestellAuftrag : Entity<BestellAuftragId> { // ... }
Abgrenzung
Es wird nicht beschrieben wie Servicedesign etc. implementiert werden.
Stärken und Schwächen
Stärken
- Lesbarkeit / Nachvollziehbarkeit
Schwächen
- Implementierungsaufwand