Bouncing out of the inappropriate hijacking of the "Overuse and
Resulting Backlash" thread..
I was referring primarily to MVP, and specifically Passive-View:
http://martinfowler.com/eaaDev/PassiveScreen.html
In every application instance, the M in MVP (or MVC) IS the M in
Domain Model. In system software instances, the M might be a button,
etc, and in that case, the Domain is GUI and a fairly restricted usage
IMHO -- unless you are developing UI software.
After many years of object-oriented analysis, design and programming,
pattern aware development and more recently, DDD, I find the simplest
patterns are the most effective and useful.
I understand and used to revel in complexity; now I eschew it.
"Do the simplest thing that could possibly work" is a mantra I live
by, and to me, Vibhu's description of Smalltalk's MVC, and Ralph
Johnson's discussion on C2.com illustrate exactly why I favour
MVP/Passive-View instead.