domain-driven-designbounded-contexts

DDD Context Map – meaning of Arrows


Domain Driven Design proposes the creation of Context Maps and to link bounded contexts (relationships).

The literature (incl. internet) shows a lot of examples. The majority does not use arrows for the relationships.

But some are using arrows, for example Vladislav Khononov in "Learning Domain-Driven Design" (see also https://www.oreilly.com/library/view/what-is-domain-driven/9781492057802/ch04.html). But the meaning is never explained. The arrows could mean dataflow (one direction) or service provisioning (the other direction) or something else.

Questions are:


Solution

  • There should be no arrows. Context Maps show relationships between Bounded Contexts, the dependencies, how they are coupled. You don't need direction for that.
    From my understanding, Vladik uses arrows only when one bounded context consume some kind of service provided by an other bounded context. This is done the same way as in Simon Brown's C4 diagrams when a Container calls an API.
    The arrow is useless when you have Upstream and Downstream clearly defined in the map. It's even truer when there's an Upstream Open Host Service and a Downstream bounded context with an ACL or Conformist pattern.
    Best is to ask Vladik why he did that, I agree it's a bit confusing :)