Introduction to domain driven design
As applications grow bigger and bigger, our codebase needs to accommodate for more and more business actions. After a while you will have code that impacts a large amount of business actions without knowing exactly what they are. Changes to that code become more and more stressful. We had long been feeling the need to handle this complexity of our applications in a more explicit and clearer way.