Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to combine DDD(Domain-driven design) DCI to design a application

DDD is Domain-Driven Design , it is a methodology that include ubiquitous language, root entity , value object and aggregations..

DCI: Data, Context, Interactions is a programming paradigm invented by Trygve Reenskaug.

how can I combine with them in a new system?

like image 451
banq Avatar asked Oct 21 '11 23:10

banq


People also ask

How do I use domain-driven design?

DDD focuses on three core principles: Focus on the core domain and domain logic . Base complex designs on models of the domain . Constantly collaborate with domain experts , in order to improve the application model and resolve any emerging domain -related issues.

Is domain-driven design a design pattern?

Contents. Domain-Driven Design(DDD) is a collection of principles and patterns that help developers craft elegant object systems. Properly applied it can lead to software abstractions called domain models.

Is DDD an architecture?

Domain-Driven Design is a concept introduced by a programmer Eric Evans in 2004 in his book Domain-Driven Design: Tackling Complexity in Heart of Software. It is an approach for architecting software design by looking at software in top-down approach.

What is the difference between DDD and clean architecture?

DDD is used to model the domain entities encapsulating intra-aggregate invariants (validators in constructors). Use cases (from Clean Architecture) are used to orchestrate inter-aggregate business logic in a comprehensible and a targeted way.


1 Answers

This is a subject of on going discussion, and something you'll probably find better answers to at the object-composition Google group where it has been discussed earlier. Also there is an effort to port the canonical DDD sample to DCI at the DCI github page.

Long story overly short though: DCI fits within a Bounded Context, where you'd then have a DCI context per use case.

like image 176
Christian Horsdal Avatar answered Oct 03 '22 19:10

Christian Horsdal