diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md index 27cc770b3..e0ccb7ae1 100644 --- a/content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md @@ -1 +1,15 @@ -# Domain driven design \ No newline at end of file +# Domain-Driven Design + +Domain-driven design (DDD) is a software design approach focusing on modeling software to match a domain according to input from that domain's experts. + +In terms of object-oriented programming, it means that the structure and language of software code (class names, class methods, class variables) should match the business domain. For example, if a software processes loan applications, it might have classes like LoanApplication and Customer, and methods such as AcceptOffer and Withdraw. + +DDD connects the implementation to an evolving model and it is predicated on the following goals: + +- Placing the project's primary focus on the core domain and domain logic; +- Basing complex designs on a model of the domain; +- Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems. + +Free Content + +Domain Driven Design Quickly