InfoQ

InfoQ

Presentation

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Recorded at:
Recorded at

DDD: putting the model to work

Presented by Eric Evans on Nov 06, 2007 Length 00:58:48
Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
Language ,
Modeling ,
Architecture ,
Object Oriented Design ,
Design
Tags
JAOO Conference ,
Domain Driven Design
 

How would you like to view the presentation?

In case you are having issues watching this video, please follow these simple steps to help us investigate the issue:
1. Right click on the video player and select Copy log
2. Paste the copied information in an email to video-issue@infoq.com (clicking this link will fill in the default details in most email clients).
Note: in case your email client hasn't automatically picked up the email subject, please include in your email the URL of the video too.
3. Done.
We will investigate the issue and get back to you as soon as possible. Thanks for helping us improve our site!
Summary
This talk will outline 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 DDD team engage in deeper exploration of their problem domain and make that understanding tangible as a practical software design.

Bio
Eric Evans is a specialist in domain modeling and design in large business systems. Since the early 1990s, he has worked on many projects developing large business systems with objects and has been deeply involved in applying Agile processes on real projects. Eric is the author of "Domain-Driven Design" (Addison-Wesley, 2003) and he leads the consulting group Domain Language, Inc.

About the conference
JAOO is the premier European developer conference on software technology, methods and best practices. The conference presents in-depth presentations and tutorials by researchers, engineers and trend-setters in software engineering and technology.

18 comments

Watch Thread Reply

where is 2nd part by Yale Li Posted
Re: where is 2nd part by Yale Li Posted
Re: where is 2nd part by Yale Li Posted
Re: where is 2nd part by Diana Plesa Posted
Re: where is 2nd part by Sddd jkljlkjl Posted
A great talk by Yale Li Posted
Re: A great talk by Rolf Lampa Posted
Player stops by Ivo Limmen Posted
Re: Player stops by Floyd Marinescu Posted
Download Video by Hadikusuma Wahab Posted
Eager to see part two by Corin Lawson Posted
Re: Eager to see part two by Rolf Lampa Posted
Re: Eager to see part two by Rolf Lampa Posted
Re: Eager to see part two by Diana Plesa Posted
Very good - now we wait for part THREE by Rolf Lampa Posted
Re: Very good - now we wait for part THREE by Niclas Nilsson Posted
Re: Very good - now we wait for part THREE by Lo Kuei-yang Posted
size of countries by Sebastian Dietrich Posted
  1. Back to top

    where is 2nd part

    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

    by Yale Li

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

  3. Back to top

    Re: where is 2nd part

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    by Sddd jkljlkjl

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

  14. Back to top

    Re: Eager to see part two

    by Diana Plesa

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

  15. Back to top

    Very good - now we wait for part THREE

    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

    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

    by Lo Kuei-yang

    where can i download the slides...?
    please...

    Thank you so much...

  18. Back to top

    size of countries

    by Sebastian Dietrich

    unfortunately Eric is totally wrong concerning the size of countries on his map since it is no map that projects the size of a country or contintent correctly

Educational Content

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.

Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone

Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.

The Golden Circle – Why How What

Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?

The Web Platform as a Limitless Pool of Innovation, with Andreas Gal

Andreas talks about the benefits of the Open Web and how it compares to proprietary stacks. He also talks about various projects that push the envelope like Boot to Gecko, Broadway and pdf.js.

Hadoop and NoSQLin a Big Data Environment

Ron Bodkin discusses early adoption of Hadoop, NoSQL and describes MapReduce and related libraries and Frameworks. Other topics include Hive, Pig, multi tenancy, and security in a big data environment

Spring and Platform Interoperability

Stephen Bohlen explains how Spring helps with interoperability between Java and .NET, demoing it with the help of a sample application.

How to Stop Writing Next Year's Unsustainable Piece of Code

Guilherme Silveira mentions some of the turning points in project development that may affect the quality of the code offering advice on avoiding writing crappy code.