Quick DDD terminology question: Say Context B depends on A (e.g. because B uses one of A’s services). Is A always “upstream”, or does this change depending on whether one applies “Conformist” or “Customer/Supplier”?

Jun 22, 2018 · 7:10 AM UTC

6
1
1
12
(Note that I’m actually asking about the agreed-upon, “canonical” DDD usage, in case such a thing exists)
Replying to @stilkov
"Upstream" only defines the direction of the relation ship, not necessarily who drives it, right?
1
3
That’s my take as well, but we have a lot of internal discussion about this at the moment
1
1
Replying to @stilkov
My 2ç: Conformist is always downstream from the service it conforms to, by definition. In customer/supplier, supplier is upstream, customer downstream, otherwise you'd call it partnership. So no, doesn't change.
2
That would be my take as well: Conformist and Customer/Supplier are organizational ways to deal with a technical dependency. It would be interesting to see whether @ericevans0 and @VaughnVernon agree.
1
1
Replying to @stilkov
Btw the question phrasing seems odd, as you use "depends on" and "uses service" as synonyms. Runtime dependency is independent of model flow imho. B can call A, but if A conforms to B's model, B is upstream, A is downstream.
1
1
Don’t introduce the term “model flow” again, I carefully tried to avoid it ;) Of course run time and development time dependencies don’t have to map 1:1. Let’s just assume they do for this discussion.
1
1
Replying to @stilkov
The way I understand it, upstream/downstream is about the flow of domain language, independent of working relationship. So yes, it's A is upstream of B when the relationship is Conformist.
1
Replying to @stilkov
I think this is one thing not quite clear in @ericevans0 book. I think it is about influence. If A influences B to use their ubiquitous language B will be downstream and in that case "conformistic" lot of different interpretations around in DDD literature
2
1