The last couple of years the interest in Domain-Driven Design (DDD) has increased, Eric Evans noted in his keynote at the recent DDD eXchange conference in London. He thinks that we are in a time when developers care more about design, partially because we are working more with distributed systems where models have a higher value.
Conversations with domain experts and the language used are central in Domain-Driven Design (DDD), but often this is hard because we don’t speak the same language, explained Cyrille Martraire in his presentation at the Domain-Driven Design Europe conference earlier this year when sharing his experiences working with domain experts in DDD-driven environments.
Move as much as possible of the behaviour away from the Entities into Value Objects when working with Aggregates, As more behaviour is needed this is added as new value objects, Paul Rayner recommends in a series of blog posts covering aggregates, entities and value objects, all concepts from Domain-Driven Design (DDD).
By gathering all domain experts and developers in a room, provide them with a paper roll, lots of colored post-its and a facilitator they may in hours create the best model ever, Alberto Brandolini suggested at the recent DDD Exchange conference in London.
Bounded Context concept from Domain Driven Design (DDD) can be used to divide a large model into smaller models using the Database Context (DbContext class) in Entity Framework (EF). Bounded Context creates smaller, more cohesive models with boundaries between models.
Greg Young, the lead architect behind the Event Store, recently talked about the Projections Library in the Event Store and how it can be used as a Read Model. In his presentation Greg explained what the Projections Library is, together with its main use cases. He also presented a number of examples of practical use.
The latest version of OpenXava, a Java framework for rapid development of enterprise applications, supports all strategies of JPA inheritance mapping and the Automated Business Logic (ABL) library. OpenXava version 4.5 was released last month.
At QCon San Francisco, 2008, Eric Evans answers questions about his recent activities and the evolution of DDD. During the interview he responds to questions about the relationship of DDD to usability, to FIT and FITnesse type testing, technology tools, and domain-specific languages. He also speaks about the DDD community as a whole.
In a recent entry, Phillip Calcado asks the question "What Is A Service?" and then goes on to describe how the answer to this lies with Domain Driven Design and ensuring that all stakeholders in an SOA development share the same understanding.
In this interview recorded at QCon San Francisco 2008 conference, Greg Young talked about how his team has been using Domain-Driven Design (DDD) concepts in their projects. He discussed how to manage domain state transitions in a Domain-Driven Design project. He also talked about Command Query Separation (CQS) design concept to keep the design cleaner and easier to test and maintain.
As the complexity of the real-life problems grows, it becomes obvious that in order to solve them, it is often necessary to combine multiple techniques. One example of a good symbiotic relationship is that between Service Oriented Architecture (SOA) and Domain Driven Design (DDD).
Roberto Zicari, from ODBMS.org, collected interviews and stories from several users of Object/Relational mapping technologies. The main point of the cases was around "impedance mismatch" between the object technology in the domain model and the relational technology in the data model.
Domain-Driven Design is a subject where there currently are very few examples of how to actually do it in practice. In this article, Srini Penchikala gives you guidelines, practices, frameworks and tools that technical leads and architects can use in the effort of implementing a system in a Domain-Driven way.
Business users doing programming? Charles Simonyi and Henk Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge, which means that business experts can be more innovative and responsive to the changes in the domain.
In this presentation, Jay Fields introduces his concept of Business Natural Languages (BNL). BNLs are a type of Domain Specific Language, designed to be readable by any subject matter expert, which allows to create maintainable specifications and documentation. The example languages are implemented using Ruby.