Domain Driven Design

Domain Driven Design (DDD) is a software design approach that links domain modeling and software design, with the goal of creating a rich domain model that evolves through successive design iterations. 

The best way to understand the concepts of this development approach is to forget for a moment everything we know about programming and think in the real world, since software development is most often applied to the automation of processes that exist in the real world. So, should we focus on the domain of the business we are going to work on, to create good software? of course we should! 

We can't just sit around and make code. ... well, we can do it, and it would work well in many trivial cases. But it is not the way and less if we want to create complex and quality software.

To create good software, you have to know what that software is, and all about. DDD focuses on identifying the core domain and logic domain, doing a problem domain analysis under a context and working on that context, working with complex designs on different domain models.

For example. You cannot create a banking software unless you have a good understanding of what banking is, then one should understand very well the domain of banking, this knowledge could be drawn from available sources (books, business procedures manuals, ...), but to do it well, you need an expert in the field, that is where we allied with a domain expert, they create the ubiquitous language, which is a term introduced by Eric Evans in his book on DDD (Domain Driven Design) as a proposal to create a common language between programmers and users. They are the ones who know the domain in depth and will accompany us in the process of building the domain model.

Currently software systems are characterized by their complexity, dynamism and great strategic importance, so taking into account DDD, takes great importance. 


要查看或添加评论,请登录

社区洞察

其他会员也浏览了