Update 101-domain-driven-design.md (#1336)
* Update 101-domain-driven-design.md * Update content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>pull/1343/head
parent
39fc32559e
commit
0f1ba869ea
1 changed files with 15 additions and 1 deletions
@ -1 +1,15 @@ |
|||||||
# Domain driven design |
# 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. |
||||||
|
|
||||||
|
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||||
|
|
||||||
|
<BadgeLink colorScheme='blue' badgeText='Original Paper' href='https://matfrs2.github.io/RS2/predavanja/literatura/Avram%20A,%20Marinescu%20F.%20-%20Domain%20Driven%20Design%20Quickly.pdf'>Domain Driven Design Quickly</BadgeLink> |
||||||
|
Loading…
Reference in new issue