![]() This style actually has a name, it's called Self-Contained Systems. If all of them are web-based, they could simply link (redirect) the user to the next step, the user would never even see that these are potentially different applications. I intentionally avoided using the word 'context'. The cool thing is, these three would not need any direct communication at all. 2 Answers Sorted by: 13 It is the biggest zone/area/place where a term has a consistent meaning (it means the same thing for the business specialists and the developers). Note again: this would work even if Search or Ordering is down. Note again, this would work even if Search or Delivery is down.ĭelivery would have the user's delivery address and select the deliveryman, track the delivery. When ordering is complete, it would simply forward the user to Delivery. It does not for example need delivery address. Ordering contains some user data, like billing address, credit cards or whatever, but not all. Data will be pushed to it when necessary, but it would continue to work even if Ordering and Delivery are down. Note that this thing does not need communication of any sort. Search is for browsing restaurants/chefs whatever. A bounded context defines a specific set of concepts, terminology, and business rules that apply within that context while excluding concepts and rules that apply in other contexts. (It may get slowly out-of-date but it would continue to work). In domain-driven design (DDD), a bounded context is a linguistic and organizational boundary defining a specific business domain area. Here is another way to think about it: A bounded context should continue to work even if other bounded contexts are down. For example, PHP have the concepts of Namespacing. ![]() Examples include: Get user/chef/delivery data (request-response), events flow both ways, or there is a synchronization in place both ways. What is the difference between a Module and a Bounded Context Modules in different layers Modules as separate Composer Packages Conclusion Most programming language have the concept of self contained modules in one form or another. Here is a practical way to think about it: If two bounded contexts have messages flowing both ways, they are probably not good bounded contexts. ![]() Contexts are not CRUD services for an "entity", they are a semantically cohesive unit of features. If you are thinking about CRUD "bounded contexts", such as "Users", "Chefs", "Deliverymen", those will be almost certainly wrong. It is impossible to say without more information, but here are some pointers. ![]()
0 Comments
Leave a Reply. |