User Tools

Site Tools


technology:domainmodel:boundedcontext

Bounded Context

A Bounded Context defines a context in which the ubiquitous language is uniquely defined.

A Note on Conformist, Customer-Supplier: the supplier cannot, by DEFINITION, be exchangeable. If you want to be able to exchange the implementation of parts, you must use an Anticorruption Layer. Then you can exchange the implementation of one BC, and by simply building a ACL for that BC to work with the other BCs, you are all set. Don't mistake Bounded Contexts with exchangeable parts. A BC is not, by definition, exchangeable when used by another BC. That depends on the CONTEXT MAP between the BCs, and if they have a customer-supplier or conformist relationship, then the supplier BC cannot simply be exchanged.

Now, the UI is also a BC. The scheduling UI BC interacts with the read models of the Person BC, the Employee BC, the Work Day BC, the Project BC, the Customer BC, etc. You can build ACLs for the communication of these BCs, making one read model exchangeable with another implementation. Or the UI is conformist, or a customer of the read models. Thus, if a read model changes, the UI must change. What to do? The fastest is to make it a customer, i.e. don't think too much about the required ACL.

Boy, that took me a while to understand…

technology/domainmodel/boundedcontext.txt · Last modified: 2013/01/31 13:17 by rtavassoli