Читать книгу Vom Monolithen zu Microservices - Sam Newman - Страница 34
Kontextgrenzen
ОглавлениеEine Kontextgrenze (Bounded Context) steht im Allgemeinen für eine größere organisatorische Grenze in einer Organisation. Im Rahmen dieser Grenze müssen explizite Verantwortlichkeiten festgelegt werden. Das ist vielleicht etwas unklar, daher schauen wir uns ein weiteres Beispiel an.
Bei Music Corp ist im Lager extrem viel los – Bestellungen werden verschickt (und Rückläufer verarbeitet), Wareneingänge eingeräumt, es gibt Gabelstaplerrennen und so weiter. Die Finanzabteilung im Bürotrakt hingegen hat vielleicht weniger Spaß, aber sie ist in unserer Organisation genauso wichtig – sie kümmert sich um die Gehaltsabrechnungen, bezahlt Lieferungen und so weiter.
Kontextgrenzen verbergen Implementierungsdetails. Es gibt interne Angelegenheiten – zum Beispiel ist die Marke der Gabelstapler für jeden außerhalb des Lagers eher uninteressant. Diese internen Angelegenheiten sollten vor der Außenwelt verborgen werden – sie muss diese nicht wissen und sollte sich auch nicht darum kümmern.
Aus Implementierungssicht enthalten Kontextgrenzen eines oder mehrere Aggregate. Manche Aggregate können über die Kontextgrenze hinaus bereitgestellt werden, während andere intern verborgen bleiben. Wie bei Aggregaten können Kontextgrenzen Beziehungen zu anderen Kontextgrenzen haben – abgebildet auf Services, werden diese Abhängigkeiten zu Inter-Service-Abhängigkeiten.