What Is Domain-driven Design (DDD)? - Definition From
Maybe your like
What is domain-driven design (DDD)?
Domain-driven design (DDD) is a software development philosophy centered around the business domain, or sphere of knowledge, of that software's users. DDD emphasizes the importance of understanding and modeling the business domain for which a software application is being developed.
Eric Evans first introduced the concept of DDD in his book Domain-Driven Design: Tackling Complexity in the Heart of Software. This book, published in 2003, includes numerous schema, repositories, value objects and entities that can help developers express a meaningful and object-oriented programming (OOP) model that aligns with the business and its needs. The basic idea of DDD is to align software with the business needs it is meant to address, thus improving its quality and usability.
Since DDD is about considering the specific business context in which software would operate, it emphasizes the use of a ubiquitous or common language for both software developers and business stakeholders. As a result, every class, method, variable, etc., in the software code reflects business reality and promotes business understanding, ensuring the program remains understandable to business users and usable in the domain for which it was developed.
DDD also encourages iterative collaboration. By collaborating closely with each other and the business, developers can build software that better reflects the business it is meant to serve. The iterative development approach often yields better-quality software aligned to business requirements.
In sum, the four main ideas of DDD are as follows:
- Core domain. The business domain and its fundamental aspects -- elements, entities, requirements, objectives -- should be aligned with the software under development.
- Model-driven design. A well-defined domain model represents the business domain and informs software development for that domain.
- Ubiquitous language. A common language facilitates communication between the technical -- i.e., development -- and business teams.
- Iterative collaboration. Ongoing iterative collaboration between developer and business stakeholders to exchange insights, provide feedback and enable continuous improvement in software.
Tag » What Does Ddd Stand For
-
DDD
-
What Does DDD Stand For?
-
DDD - Urban Dictionary
-
DDD - Definition By AcronymFinder
-
What Does DDD Stand For? - Quora
-
DDD Meanings | What Does DDD Stand For? - All Acronyms
-
What Does DDD Stand For In Texting? 10 Meanings Of DDD
-
What Does DDD Mean? - Abbreviation Finder
-
What Does DDD Mean?
-
Defined Daily Dose (DDD) - World Health Organization (WHO)
-
Wondering What The Popular #DDD Hashtag Means On TikTok?
-
DDD - Wikipedia
-
DDD Acronyms - IDHS
-
Developmental Disabilities Terminology