Does Domain-Driven Design work?

Does Domain-Driven Design work?

Domain-driven design is perfect for applications that have complex business logic. However, it might not be the best solution for applications with minor domain complexity but high technical complexity. Applications with great technical complexity can be very challenging for business-oriented domain experts.

What exactly is domain-driven design?

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 domain-driven design with example?

An aggregate is a domain-driven design pattern. It’s a cluster of domain objects (e.g. entity, value object), treated as one single unit. A car is a good example. It consists of wheels, lights and an engine.

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.