Category Archives: DDD

DDD: Specification or Query Object

One of the nice benefits of a Specification is that one could write some code like the following: IEnumerable<Customer> customers = CustomerRepository.AllMatching(CustomerSpecifications.IsGoldCustomer); Writing code like this has allowed the developer to reuse a specification from the domain within their repository … Continue reading 


DDDD: Master-Detail Question

I received an interesting question via email recently that I figured would be better answered via a blog post than a private response. Greg, <clip of intro and flattery> So you are getting messages directly out of your repositories and … Continue reading 


DDD: Specifications, Language, and Locality

Consider the following code. public class Customer {      .      .      .      public bool IsPreferredCustomer {             get { return (this.TotalSales > 10000 || this.TotalVisits > 50) || (this.TotalSales > 5000 && this.TotalVisits > 25); } } … Continue reading 


More General Thing Madness

This description of problem analysis by Reginald Braithwaite (who is a smart person) struck a chord with me: I found this to be an important point in my own programming, and I don’t know if that’s a general point but … Continue reading 

Also posted in MSDN Magazine, Pivot | 7 Comments

Impedance Mismatch Reframing

  This is a reply to Stephen Fortes post Impedance Mismatch from a ways back. I would have posted about it sooner but I sadly just saw it today when a co-worker Stefan Moser linked it over to me. I … Continue reading 


Deep Fried DDD

Over the weekend I got the chance to sit down with Keith Elder and Chris Woodruff of Deep Fried Bytes fame and discuss domain-driven design. It was a fun conversation and the first part (of two) is available for download. … Continue reading 


Doctors We Ain’t

Time for a little bit of a rant. In a recent post, Jeffery Palermo paraphrases an analogy made by David Platt on a recent episode of the .NET Rocks podcast: In software, we can’t expect our clients to know what … Continue reading 


Super Models, Part 2: Avoid Mutators

A quick disclaimer: we’re entering religious territory here. I feel strongly about this issue, but it’s certainly my opinion. If you want to get the full sense of how passionate people are about this issue, check out this article at … Continue reading 


DDDD Moved

After some conversations with Scott and others I have decided that I will be writing up alot more on DDDD (I have already started). I will be releasing it under a creative commons license as opposed to going with a … Continue reading 


Super Models, Part 1: Sexy Specifications

In Domain-Driven Design we turn to the specification pattern when we want to check whether an object matches some criteria. I think specification is the oft-forgotten bastard child pattern of the domain model pattern language. I know I frequently turn … Continue reading