3 Focusing on the Core Domain

WHAT’S IN THIS CHAPTER?

  • Why you should distill a large problem domain
  • How to identify the core domain
  • How to focus effort on the core domain
  • The responsibilities of the supporting and generic domains
  • Why not all parts of a system need to be well designed

It’s important to understand that not all parts of a problem are equal. Some parts of the application are more important than others. Some parts need more attention and investment than others to make the application a success. During knowledge crunching with domain experts, it’s important to reduce the noise of what’s unimportant to enable you to focus on what is important. Model-Driven Design is hard and should only be reserved to the areas of your systems that are vital to its success. This chapter covers how you can reveal the most important areas of a system and how by using distillation you can focus on those areas. With the knowledge of where to focus you can deeply model what is core, and focus on what will make a difference.

Why Decompose a Problem Domain?

Large systems built for complex problem domains will be made up of a combination of components and sub systems, all of which are essential to ensure the entire systems works. However some parts of the solution will be more valuable than others. It is essential therefore to focus effort and attention on the areas that are important to the business. You cannot equally spread effort and quality throughout the entire system, nor do you ...

Get Patterns, Principles, and Practices of Domain-Driven Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.