Beim Studium von Domain-Driven Design (DDD) bin ich auf das Konzept der Subdomain gestoßen, aber ich glaube, ich verstehe es noch nicht. Mein erstes Verständnis davon war, dass eine Subdomain eine Teilmenge der Domain der Anwendung ist. Mit anderen Worten, es ist eine Partition des Problemraums. Ich habe gelesen, dass es drei Arten von Subdomains gibt:
- Kern-Subdomänen
- unterstützende Subdomains
- generische Subdomains.
Mein Verständnis war ungefähr so: Wir wählen die Domäne der Anwendung aus, und sie ist ziemlich komplex. Dann schauen wir uns das an und finden einen Weg, es in einfachere Teile zu unterteilen, von denen einige Kern-Subdomänen und einige unterstützend wären, während andere generisch wären.
Bei der Suche nach weiteren Informationen habe ich einige Leute gefunden, die etwas anderes gesagt haben: Es gibt nur eine Kern-Subdomäne, einige generische Subdomänen und überhaupt keine unterstützende Subdomäne.
Meine Fragen sind also:
- Was sind Subdomains, wirklich ? Ist mein erstes Verständnis das richtige oder ist es das zweite, was ich lese?
- Wie ist diese Idee von Subdomains nützlich?
- Was sind einige gute Kriterien zur Identifizierung von Subdomains? Was sollten wir bei der Auswahl von Subdomains beachten, um diese Idee besser nutzen zu können?
EDIT: Als ich ein bisschen mehr suchte , fand ich Folgendes:
Denken Sie an ein E-Commerce-System. Zunächst kann man erkennen, dass es sich um eine Anwendung eines Einkaufskontexts handelt. Wenn Sie genauer hinschauen, werden Sie feststellen, dass es auch andere Kontexte gibt, z. B. Inventar, Lieferung, Konten usw.
Dies ist, was ich anfangs für eine Subdomain hielt. Wir wählen eine Domain (die Einkaufsdomain) aus und unterteilen sie in einfachere Subdomains (Inventar, Lieferung, Konten usw.). Im fraglichen Text bezeichnen sie diese jedoch als Kontexte. Ist mein früheres Verständnis also nicht Subdomänen, sondern Kontexte?
Ich habe hier auf dieser Site eine Frage zum Unterschied zwischen einer Subdomain und einem begrenzten Kontext gefunden. Die Antwort besagt, dass Subdomains eine Partition des Problemraums sind, während Kontexte Partitionen des Lösungsraums sind. Die Aufteilung des Einkaufskontexts in Inventar, Lieferung, Konten usw. ist jedoch keine konzeptionelle Partition. Das heißt, ist es eher im Problemraum als im Lösungsraum?