NDC 2012 presentations posted

Slides and code are up for my talks at NDC 2012:

Building External DSLs

Crafting Wicked Domain Models

NDC also recorded the talks, so when those get released I’ll update this post with the videos as well. Videos below!

Watch Building External DSLs for Fun and Profit

Watch Crafting Wicked Domain Models

The enumeration class I talked about in the domain model talk is on NuGet as the NuGet package Enumeration, so don’t use the one in the talk if you want the latest version of the class.

Thanks, Oslo!!

About Jimmy Bogard

I'm a technical architect with Headspring in Austin, TX. I focus on DDD, distributed systems, and any other acronym-centric design/architecture/methodology. I created AutoMapper and am a co-author of the ASP.NET MVC in Action books.
This entry was posted in Presentations. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Callum Godfrey

    This is probably a stupid question but in the wicked domain model, you have the OfferAssignmentService passing another service (the IOfferValueCalculator) into the Member’s AssignOffer method – member.AssignOffer(offerType, _offerValueCalculator). I thought that entities using services was a big no-no?

    • Nathan Alden

      Sometimes this is the only option. My framework has an ISystemClock interface, and sometimes my entities need to perform work based on the current system time. The only way to do this in a disconnected fashion is to give the entity an ISystemClock interface.

      I actually see this as a sign of good design. If your entities have no methods and are just property bags, chances are you either don’t need DDD or are just being lazy.

  • Hi Jimmy, great couple of talks. In the Crafting Wicked Domain models talk your AssignOffer() method took in an IOfferValueCalculator param. Is it wise to take an Interface? There is nothing stopping a dev from creating a different concrete implementation of the Interface (SuperAwesomeOfferValueCalculator) and passing that in. If it is just calculations/logic seems it would be OK to have the param be concrete class/type, no?

  • Mattias Jöraas

    Watched the video from NDC about domain models, and is trying to use the enumeration class. Got the latest 1.0.4 but i cant get it to work against nhibernate mappings (could not determine type for “my class”) got any ideas for this ?

    • Mattias Jöraas

      Got it working when i found your EnumerationType class and Convention class for nhibernate in another blog post.