The Bulimic Domain Model

For a number of years there’s been discussions about patterns and anti-patterns in the domain model space. From people like Martin Fowler we have Anaemic Domain Model, a Rich Domain Model, Layered Architectures, Service Layers .
I’d like to add a new pattern which I’d like to call the Bulimic Domain Model. The single defining characteristic of this is when you’ve finished working with it, you need to go and throw up.
The Bulimic Domain Model is so anaemic that rather than having convenience methods, it has inconvenience methods. Rather than the principle of “once-and-only-once”, we have the Casablanca principle “write it again, Sam”. Combining this with Transaction Scripts that have grown to the size of a Novel providing no possible opportunity of reuse with considerable refactoring.
Finally, the much vaunted Tell, don’t Ask is replaced with the Mother-in-law principle “Ask, and ask, and ask again”.
My advice when you come across one of these is to run, not walk to the nearest exit. Oh, and don’t eat too much for lunch.


One thought on “The Bulimic Domain Model

Comments are closed.