Advice for Successful DDD

DZone 's Guide to

Advice for Successful DDD

· Integration Zone ·
Free Resource
A lot of today's software systems have non-functional requirements that preclude a single-database model. At NDC 2010 and at many other developer conferences Greg Young, the co-founder and CTO of  a stock market analytics firm, has told the story of how his company unleashed their domain.  This presentation looks at how Domain Driven Design can fit into multi-database environments that exist in extremely large scale web sites, batch processing, and when using NoSQLs.  Event streams open many doors in how domains are scaled, stored, and rationalized because they offer an alternative way to store object states.  

Young has 10+ years of diverse experience in computer science, including fields such as embedded operating systems to business systems.  His  company's application runs over 10,000 sustained transactions per second with a rich model. The key? Modeling state transitions explicitly.  Here is "Unleash your Domain":

Find the presentation slides here.

Young has also participated in a project that fell into each of his 7 DDD pitfalls.  His second presentation at NDC 2010 encourages companies to make sure they have clear context where models that make sense with a clear separation of concerns.  Like most failures in business, a lot of these pitfalls are based on communication and the expression of what get’s communicated.  These are the 7 reasons why most DDD projects fail:

  • Lack of intent
  • Anemic Domain Model
  • DDD-Lite
  • Lack of isolation
  • Ubiquitous what?
  • Lack of refinement
  • Proxy Domain Expert (Business analyst)

And here's the presentation video:

Check out the DZone Refcard on DDD.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}