Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 posts at DZone. You can read more from them at their website. View Full User Profile

Advice for Successful DDD

10.19.2010
| 14692 views |
  • submit to reddit
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.