InfoQ

News

InfoQ Book: Domain Driven Design Quickly

Posted by Floyd Marinescu on Dec 11, 2006 10:26 AM

Community
Agile,
Java,
.NET,
Ruby,
SOA
Topics
Domain Specific Languages ,
Methodologies ,
Customers & Requirements
Tags
Domain Driven Design ,
Design Patterns
The most complicated aspect of large software projects is not the implementation, it is the real world domain that the software serves. Domain Driven Design is a vision and approach for dealing with highly complex domains that is based on making the domain itself the main focus of the project, and maintaining a software model that reflects a deep understanding of the domain. The vision was brought to the world by Eric Evans in his book "Domain Driven Design". Eric's work was based on 20 years of widely accepted best practices in the object community, as well as Eric's own insights. 

Despite the importance of Domain Driven Design, not many people are aware of it, which is why InfoQ commissioned the writing of a 100 page mini-book: Domain Driven Design Quickly, and like all InfoQ books is available for free download as well as print-purchase.  The book is a short, quickly-readable summary and introduction to the fundamentals of DDD; it does not introduce any new concepts; it attempts to concisely summarize the essence of what DDD is, drawing mostly Eric Evans' 576 page book, as well other sources since published such as Jimmy Nilsson's Applying Domain Driven Design, and various DDD discussion forums.  Main topics in the book include:

 - Building Domain Knowledge
 - The Ubiquitous Language
 - Model Driven Design
 - Refactoring Toward Deeper Insight
 - Preserving Model Integrity

Please help Domain Driven Design become mainstream by letting people know about this book!

Although Eric's book came out in 2003, it seems that 2007 will the year Domain Driven Design becomes widely known.  Whereas little was being said about DDD last year, this year saw two new books on DDD publish (Jimmy Nilsson's and InfoQ's), there was a whole track on DDD at The Spring Experience, and revolution back to POJO development in the Java community is setting the stage for DDD to finally become a mainstream practice.

10 comments

Watch Thread Reply

Non printable ? by appu chan Posted Dec 12, 2006 4:23 AM
Re: Non printable ? by Wacław Adamczewski Posted Dec 12, 2006 7:55 AM
Re: Non printable ? by Floyd Marinescu Posted Dec 12, 2006 2:51 PM
Re: Non printable ? by anjan bacchu Posted Dec 18, 2006 6:15 PM
Who is the author? by o denni Posted Dec 20, 2006 1:01 PM
Re: Who is the author? by Floyd Marinescu Posted Feb 9, 2007 3:02 PM
Re: Who is the author? by hank jmatt Posted Feb 25, 2009 7:03 AM
2007: The year of DDD? by Rod Johnson Posted Dec 12, 2006 5:17 AM
Re: 2007: The year of DDD? by johan andries Posted Dec 18, 2006 1:23 AM
I can publish ? by ronildo braga Posted Jun 24, 2007 6:49 PM
  1. Back to top

    Non printable ?

    Dec 12, 2006 4:23 AM by appu chan

    I doubt.. :)

  2. Back to top

    2007: The year of DDD?

    Dec 12, 2006 5:17 AM by Rod Johnson

    Although Eric's book came out in 2003, it seems that 2007 will the year Domain Driven Design becomes widely known.
    I agree: 2007 is likely to be a big year for DDD. Having just coming back from The Spring Experience conference, we had a lot of interest in the DDD track. Basically the ideas of DDD are timeless, and there is certainly growing understanding and interest. Floyd, thanks for getting this material out there.

  3. Back to top

    Re: Non printable ?

    Dec 12, 2006 7:55 AM by Wacław Adamczewski

    I agree. Actually it IS printable :)

  4. Back to top

    Re: Non printable ?

    Dec 12, 2006 2:51 PM by Floyd Marinescu

    Actually it's not, that was a temporary mistake. While we want to make the information freely available for reading, one should buy the print book for ultimate convenience. Buying the book will then fund further mini-book and content efforts on InfoQ.

  5. Back to top

    Re: 2007: The year of DDD?

    Dec 18, 2006 1:23 AM by johan andries

    Eric Evans also gave two talks on DDD at Javapolis in Antwerp, Belgium, and I was pleasantly surprised by the public attention.

  6. Back to top

    Re: Non printable ?

    Dec 18, 2006 6:15 PM by anjan bacchu

    Who is the author of the mini book ? BR, ~A

  7. Back to top

    Who is the author?

    Dec 20, 2006 1:01 PM by o denni

    I'll second that question; who is the author? My impressions on what I've read so far: the first two chapters are surprisingly long-winded for a "Quickly" book and seem to preach to the choir, and there are a fair number of typos or missing words. Cut to chapter 3 if you want to get started "quickly".

  8. Back to top

    Re: Who is the author?

    Feb 9, 2007 3:02 PM by Floyd Marinescu

    Domain-Driven Design Quickly was produced by InfoQ.com, summarized primarily by Abel Avram and with Floyd Marinescu as managing editor. Special thanks to Eric Evans for his support and Vladimir Gitlevich and Dan Bergh Johnsson for their detailed reviews.

  9. Back to top

    I can publish ?

    Jun 24, 2007 6:49 PM by ronildo braga

    Hello, I would like to know if I could translate to portuguese the key parts from your book and publish it in a brazilian forum?

  10. Back to top

    Re: Who is the author?

    Feb 25, 2009 7:03 AM by hank jmatt

    Buying the book will then fund further mini-book and content efforts on InfoQ.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.