Taktisches Domain-Driven Design

Das Domain-Driven Design (DDD) umfasst Muster zur Umsetzung der Fachlichkeit von Domänen. Dabei ist essenziell, die Begrifflichkeiten möglichst 1:1 in den Code zu übernehmen, um keine Transferleistung durchführen zu müssen. Das Ziel ist es unter anderem, die Kluft zwischen der Realität und der Implementierung so klein wie möglich werden zu lassen. Das ist auch der Grund, warum die Begrifflichkeiten bei Schleupen.CS im Code Deutsch sind. Denn die Begriffe der Domänen der Energie- und Wasserwirtschaft lassen sich kaum oder gar nicht ins Englische übersetzen. Dieses Ziel hatte die Objektorientierung auch - DDD umfasst aber Muster, die darüber hinausgehen und teilweise sogar den Ideen der Objektorientierung entgegenlaufen. Muster, die der Praxis und der Erfahrung entsprungen sind. DDD hat sich seit den Anfängen zu einer Denkweise erweitert und findet häufig in Microservice-Architekturen Anwendung. Die Anwendung des strategischen Designs wurde bereits erläutert; hier wird beschrieben, wie die Muster des taktischen Designs des Bounded Contexts eines Landes in der Default-Architektur von Schleupen.CS angewendet werden.

Ein Land ist ein Bounded Context

Das Context-Mapping für die Kommunikation zwischen Geschäftsprozesskomponenten und Ländern ist für den Standard-Fall harmonisiert und dessen Implementierung wird u.a. im Folgenden beschrieben:

  • ein Land / eine GP-Komponente hat einen Anticorruption Layer (ACL)
  • ein Land / eine GP-Komponente ist als Bereitsteller eines Open Host Service (OHS)
  • ein Land / eine GP-Komponente dokumentiert die Service-Schnittstellen als Published Language (PL) in Form von WSDLs

Taktisches Design in Ländern

Einen Überblick über die im taktischen Design verwendeten Muster und Bausteine gibt folgendes Diagramm, das die relevanten Bausteine zur Implementierung eines Landes zeigt:

Konzepte des taktischen Designs eines Landes in Schleupen.CS 3.0

In diesem Diagramm sind die unten beschriebenen Domain Events nicht dargestellt. Diese sind Teil des Domänenmodells und optional. Daher sind diese im Standard nicht explizit dargestellt!

Cookie Consent mit Real Cookie Banner