What is Domain-Driven Design in simple words?

What is Domain-Driven Design in simple words?

Domain-Driven Design is an approach to software development that centers the development on programming a domain model that has a rich understanding of the processes and rules of a domain. The name comes from a 2003 book by Eric Evans that describes the approach through a catalog of patterns.

What is meant by Domain-Driven Design?

Domain-driven design (DDD) is the concept that the structure and language of software code (class names, class methods, class variables) should match the business domain. DDD connects the implementation to an evolving model.

Why is Domain-Driven Design important?

The purpose of DDD is to: Provide principles & patterns to solve difficult problems. Base complex designs on a model of the domain. Initiate a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses domain problems.

What is the domain model in Domain Driven Design?

A domain model is a conceptual model which results from the activity of domain-driven design . The conceptual model will often be represented as an entity relationship diagram. It is important to note that domain-driven design puts less emphasis on the documentation but rather on the collective learning that the team gains from the process.

What are modules in Domain Driven Design?

Modules : Modules divide the domain model into technical (non-technical) components. They are characterized by strong internal cohesion and low coupling between the modules. Also, Domain-driven Design knows two other components of the domain model – Factories and Repositories.

What is acceptance test driven development?

Acceptance test–driven development ( ATDD ) is a development methodology based on communication between the business customers, the developers, and the testers.

What is exception driven development?

Exception Driven Development. If customer facing issues are your top priority, then you already adhere to the primary principle of Exception Driven Development. It’s a pretty simple concept: Collect application data, especially regarding errors and crashes, and then focus on fixing those problems that your users are actually experiencing.