nsasouth.blogg.se

Domain driven design architecture
Domain driven design architecture






domain driven design architecture domain driven design architecture

Protect the domain knowledge from corruption by other domains, technical subdomains, etc.This is how you reflect the domain model in the code. This means naming things the way the domain expert would name them, including classes, methods, commands, and especially domain events. Embed the domain terminology in the code.This is how you form the ubiquitous language of the domain and set the foundation for harmonious models. Capture the domain model, in domain terms, through interactions with domain experts. In other words, talk to the people in the businesses where you are solving problems and understand them from their point of view first and foremost.When practicing DDD, this basic philosophy of the primacy of domain terminology can be distributed across three guiding principles:

domain driven design architecture

But did you know that DDD also has a philosophical theme? You might have heard the term “ubiquitous language,” which is a mouthful when you’re speaking about it, but it’s a shorthand way of emphasizing the fundamental principle of DDD: Use domain terminology everywhere make it ubiquitous. You probably know that DDD has strategic value that’s why so many companies with extremely complex domains rely on it to produce software that can rapidly evolve with the business. (Note: In the examples below, I’ve assumed an object-oriented project, but the principles still apply in other cases.) While this level of understanding is somewhat shallow, it is still useful-and it might be refreshing enough to take the plunge. While the full explanation would take a couple of 500-page books, the essence of DDD is profoundly simple: capture the domain model in domain terms, embed the model in the code, and protect it from corruption. We can understand these concepts and put them to good use right away. I've written about why you need DDD (even though you think you don't), but the question after deciding to use it is-how do I learn DDD? Domain-driven design (DDD), a software development technique first proposed by Eric Evans, includes strategic, philosophical, tactical, and technical elements and is related to many specific practices.








Domain driven design architecture