Not interacting with domain experts is one of a common set of mistakes done when using Domain-Driven Design (DDD), finding and correcting them early on may save a team time, Daniel Whittaker claims describing ten mistakes he regularly see developers do.
Reuse has been a watch word for almost everything that has happened in system development during the last thirty years, but reuse is like cyanide; in really small portions it can be healthy, using it too much it starts doing a lot of damage, Udi Dahan claimed in his presentation giving a different perspective on business logic at this year’s DDD Exchange conference in London.
Creating and working with well-designed aggregates is one of the least well understood tactical patterns found in Domain-Driven Design, Vaughn Vernon explains in two articles giving some guidelines to composing aggregate boundaries and alternatives to an ORM when storing them.
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.
Apache has released Apache Isis, a Java framework for rapidly developing domain-driven applications. Users focus on developing domain objects and Apache Isis takes care of persistence, security and the user interface. Apache Isis became an Apache top-level project in October 2012 and version 1.0 was released on December 2012.
The Patterns and Practices team at MSDN recently announced a CQRS Journey Guidance project – the project walks through building a fictional Contoso Conference Management System using DDD, CQRS and Event Sourcing.
At the recently concluded Domain Driven Design Exchange, the community talked of how Domain Driven Design is finally being understood independent of Object Oriented Design, and how it plays with emerging technologies like Functional Programming and REST.
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.
In this presentation held during OOPSLA 2008, Rebecca Wirfs-Brock reviews various forms of driven development in order to understand the principles and values of several design practices used today. By comparing them, a designer will get a broader view over design and will better understand which design practice is more appropriate for him.
Richard Pawson of Naked Objects offers brief history of the framework and introduction to Naked Objects for .NET. Naked objects can be seen as Domain Driven Design taken to the extreme. With proper annotation, this framework can automatically generate a matching presentation layer in Java or .NET.
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).
In this presentation filmed during QCon London 2007, Martin Fowler and Dan North talk about the communication gap existing between the developers and the customers or users. Closing this gap is extremely important in order to create successful software.