Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

5
  • Thanks for the supporting example which helps illustrate the different needs of the 3 BC's. Commented Oct 4, 2013 at 18:21
  • Not the way I am used to seeing these concepts: normally, an Employee is not a User, it has a User. The User is simply an entity through which a person can log in and access one or more applications inside the organization. And an Employee does not always have a User. Also, you normally don't get a simple application for different departments; typically, each department has its own apps, each containing its own domain model(s). So, to me this answer does not help clarify the need to have separate bounded contexts in the same codebase. Commented Jul 12, 2015 at 21:43
  • @Rogério your objection is actually a beautiful example on why it is important to properly define the ubiquitous languages used inside every bounded context :) Commented May 18, 2017 at 19:36
  • I just wonder in the cases when we have a customer management system, when we phone to query our orders, or billing, etc. we get put on hold whilst we get transferred to the appropriate department. The domain knowledge of each department comes into play - much to the annoyance of the customer in these scenarios. Maybe we can blame DDD for forcing the separation between these contexts. Commented Oct 30, 2017 at 9:46
  • So in a music streaming system, a User (in the account management subdomain) is a say Listener in the core domain (with different data and behavior). Is that correct? If so, how should I design the repositories for database access and manipulation? Commented Dec 10, 2020 at 8:53