InfoQ

News

InfoQ Presentation: Eric Evans on Domain Driven Design - Putting the Model to Work

Posted by Niclas Nilsson on Nov 08, 2007 11:15 AM

Community
Architecture
Topics
Object Oriented Design,
Language,
Design,
Modeling
Tags
JAOO Conference,
Domain Driven Design

Why bother with models?

Many development teams undertake modeling, yet they often end up with little more than a data schema which does not deliver on the productivity promises for object design. What does it take to make a domain model truly pull its weight and positively transform a project? To do that we need a model that is not just a diagram or an analysis artifact, but that provides the very foundation of the design, the driving force of analysis, even the basis of the language spoken on the project.

In this talk, Eric Evans outlines some of the foundations of domain-driven design:

  • How models are chosen and evaluated
  • How multiple models coexist
  • How the patterns help avoid the common pitfalls, such as overly interconnected models
  • How developers and domain experts together in a domain-driven design team engage in progressively deeper exploration of their problem domain and make that understanding tangible as a practical software design.

View the 60-minute InfoQ exclusive presentation Domain-Driven Design - Putting Models to Work to learn how to tackle complexity in software. Remember - the most critical complexity of most software projects is understanding the business domain itself.

24 comments

Reply

  1. Back to top

    where is 2nd part

    Nov 7, 2007 10:10 AM by Yale Li

    I do not see any control for pause/forward/play recorded presentation. It completed Eric's first part, but it is not playing the 2nd part of the talk. Do i need to wait for 30 minutes for the break between 2st part and 2nd part?

  2. Back to top

    Re: where is 2nd part

    Nov 7, 2007 10:10 AM by Yale Li

    well, i found the controls by mouse over the video,

  3. Back to top

    Re: where is 2nd part

    Nov 7, 2007 10:12 AM by Yale Li

    so i found the end of the talk, i guess that the 2nd part of talk is not posted yet. am I right?

  4. Back to top

    A great talk

    Nov 7, 2007 10:13 AM by Yale Li

    this is a great talk i recommend for everyone. Very well put and clearly explained concepts

  5. Back to top

    Re: A great talk

    Nov 7, 2007 1:10 PM by Rolf Lampa

    Yes, it seems to be based on true experience. I once used other names in this domain, like Trip, TripEvent(Stops), TripSections(Legs) etc, a bit abstract perhaps, but generic. Downside with "generic names" is that it doesn't tend to sound very much like the "domain language", which is important for communicating core concepts with the domain experts, upside with generic names is (for the designer) that the emerging model "invites" to discovering generic patterns and "meta solutions" (a kind of a "the trees don't obscure the forest effect" if undressing the names of domain specific implementations). This in turn increases "insights" in the problem domain. And yes, try to get as deep into the problem domain as possible by discussing many and all aspects with domain experts. Don't stop at the first bright idea. I like that. But, OTOH, do NOT assume that the domain experts _fully_ understand the principles involved!, instead DO assume that they know (the best) how to do the job the way they currently do it (which is not exactly the same...). What I am saying is that a thorough analysis in the pre-design stage is an unique occasion also for the domain experts (usually the end customer) to learn to even better understand the problem domain(s) at hand, and from that follows a unique opportunity to potentially *improve* the business concept(s). Well, that's my experience anyway. It would be really interesting to hear also the other half of the lecture, hopefully the second part will also be uploaded?

  6. Back to top

    Re: where is 2nd part

    Nov 7, 2007 1:30 PM by Diana Plesa

    Hi Yale Yes you're right. the second part of the talk will be published soon:)

  7. Back to top

    Player stops

    Nov 9, 2007 1:09 AM by Ivo Limmen

    Hi, Can the video also be downloaded somewhere? My connection fails sometimes and the player wants to restart and I am not able to seek to the point where the player stopped the last time.

  8. Back to top

    Re: Player stops

    Nov 9, 2007 7:45 PM by Floyd Marinescu

    Unfortunately not, however we are working on a fix but it may not be around for another couple of months.

  9. Back to top

    Download Video

    Nov 13, 2007 9:36 AM by Hadikusuma Wahab

    Hi Ivo , you should try OrbitDownloader. Its free and can download any types of video :)

  10. Back to top

    Eager to see part two

    Nov 13, 2007 11:27 PM by Corin Lawson

    A very good talk. Despite Evans' moments of awkwardness he gave a coherent and well expressed presentation with a thought-out example. As a practitioner the new and exciting bit was at the end: many models can work to our advantage. Often I will consider 'the context' of a system first, define the basics of 'it' and move on. Maybe, next time I will spare some thought for the many contexts and workout a framework for each of them. I can't wait to see how to make it work, in part two... how/where will it be advertised? Will there be a link from this presentation?

  11. Back to top

    Re: Eager to see part two

    Nov 16, 2007 8:00 AM by Rolf Lampa

    >> Despite Evans' moments of awkwardness Wow this really was an idiotic claim! What if Mr. Evans was only thinking very deep inbetween, trying to increase value by trying to avoid confusing you by introducing too much complexity too early? He's actually doing very good. He's allowing things to sink in. Would you know exactly why his very humble and pleasant performance sometimes makes a short brake for a moment of deeper reflexion? This is what designer's do. They stop and think where other ruch ahead and causes,um... "all sorts". Disregard this stupid comment. // Rolf Lampa, Sweden.

  12. Back to top

    Re: Eager to see part two

    Nov 16, 2007 9:48 AM by Rolf Lampa

    >> Disregard this stupid comment.
    Well... this comment doesn't look very clever either... It should of course have read: "Disregard the quoted stupid (and mean) comment, by Corin Lawson"

  13. Back to top

    Re: where is 2nd part

    Nov 29, 2007 6:02 PM by Sddd jkljlkjl

    Great how different the interpretation of "soon" can be.

  14. Back to top

    Re: Eager to see part two

    Nov 30, 2007 12:23 PM by Diana Plesa

    Part two is now online on InfoQ: http://www.infoq.com/presentations/strategic-design-evans

  15. Back to top

    Very good - now we wait for part THREE

    Nov 30, 2007 6:35 PM by Rolf Lampa

    Part two is now online on InfoQ: www.infoq.com/presentations/strategic-design-evans
    Thanks. This second part was very good as well. What's really worth considering in any enterprise system is the approach to separate a system into : - Core Domain(s) - Sub Domains (generic or supporting dittos) Very good talk and recommendations, with example of how to people tend to put too much effort into the wrong (sub) domains and so end up with a crappy designed Core Domain. Eric demonstrates his experience - and matureness - as a designer of "real world business systems" when he points out that business systems actually has to incorporate ALSO messy and chaotic parts (for example for varying types and quality of in-data to the system) since this is an essential part of supporting (solving) the REAL business problems/situations. But - and here comes the point - although "messy parts" are unavoidable, make sure to keep those messy parts (domains) out of the "clean" and well designed Core Domain(s)! No surprise, very good talk again! I look forward to seeing also the third (last?) part. :) // Rolf Lampa PS: Btw, was this video recorded in Sweden? (I think I saw the text "musikhuset" (music house) on that blue sign).

  16. Back to top

    Re: Very good - now we wait for part THREE

    Dec 4, 2007 6:06 PM by Niclas Nilsson

    PS: Btw, was this video recorded in Sweden? (I think I saw the text "musikhuset" (music house) on that blue sign).
    In Denmark actually, at the JAOO conference. Kind regards Niclas

  17. Back to top

    Re: Very good - now we wait for part THREE

    Dec 5, 2007 8:29 PM by Kuei-yang Lo

    where can i download the slides...? please... Thank you so much...

  18. Back to top

    Re: Eager to see part two

    Apr 2, 2008 12:27 PM by seri katil

    Hepl Blog >>> evden eve nakliyat

  19. Back to top

    Re: Eager to see part two

    May 15, 2008 10:38 AM by ankara nakliyat

  20. Back to top

    thank you

    Jun 14, 2008 3:16 AM by ankara nakliyat

  21. Back to top

    http://www.baskentnakliyatt.com

    Jul 17, 2008 1:50 PM by mustafa meral

  22. Back to top

    Re: http://www.baskentnakliyatt.com

    Jul 17, 2008 1:51 PM by mustafa meral

    thankss

  23. Back to top

    Re: Very good - now we wait for part THREE

    Jul 22, 2008 8:29 PM by Estetik Cerrahi

  24. Back to top

    Evden Eve

    Jul 30, 2008 7:31 AM by mustafa meral

Exclusive Content

VMware Infrastructure 3 Book Excerpt and Author Interview

VMware Infrastructure 3: Advanced Technical Design Guide and Advanced Operations Guide provides a wealth of practical insights into setting up virtualization in todays corporate environments.

Using Ruby Fibers for Async I/O: NeverBlock and Revactor

Ruby 1.9's Fibers and non-blocking I/O are getting more attention - we talked to Mohammad A. Ali of the NeverBlock project and Tony Arcieri of the Revactor project.

Agile and Beyond - The Power of Aspirational Teams

Tim Mackinnon talks about the aspirations behind the Agile principles and practices, the desire to become efficient, to write quality code which does not end up being thrown away.

Concurrency: Past and Present

Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, STM, concurrency, alternatives to threads, Erlang, Scala.

ActionScript 3 for Java Programmers

Often the hardest part of changing technologies is language syntax differences. This new article provides Java developers with a transition guide to Actionscript which forms the foundation of Flex.

Neal Ford On Programming Languages and Platforms

Neal Ford talks about having multiple languages running on one of the two major platforms: Java and .NET. He also presents the advantages offered by Ruby compared to static languages like Java or C#.

Future Directions for Agile

David Anderson talks about the history of Agile, the current status of it and his vision for the future. The role of Agile consists in finding ways to implement its principles.

Nick Sieger on JRuby

Nick Sieger talks about the future of JRuby, Java Integration, and his work on JEE deployment tools for Ruby on Rails like Warbler.