Just a quick run by posting. It seems that all the cool kids are now building apps using anemic domain models
The recent document Two tier application scenario (REST) from MS P&P is a good example. While I am picking on P&P here this is by no means an uncommon piece of advice please bear with me that this is GUIDANCE being put out. Update as if that was not bad enough the same guidance also makes up the Three Tier Web Application Guide it looks as if this will just be Microsoft’s new guidance.
I love that “behaviors” are described in a single line as being “transaction script services”.
I have been seeing this trend for a while now. I had thought that we had all learned our lessons years ago about anemic domain models…. oh wait that was the java community it will be different this time.
I think part of the problem is that coming up with the RESTful architecture is so much more neat for an
astronaut architect because its happily generic and can be described well in an architectural document or even better by a framework. I mean to deal with those “system behavior transaction scripts” you might actually have to talk about … the business, and you can’t write a simple document/framework to describe how to handle it.
As this guidance (like most) will be followed blindly by 90+% of people who read it, I would like to be the first to welcome you to the Anemic Age. Procedura code is dead, long live procedural code!
Update: Great quote
“What strikes me most about the P&P
article is that the seems like it would perform best in a forms over
data app. But if you really have a forms over data app, then the
architecture is way too complex.”. Bingo, I actually had a similar conversation with someone else today.