MVC: Cargo Cult
Don Hopkins posted this to the Bay Piggies mailing list:
"a lot of the related literature seems to use MVC as the canonicalAgree with it or not, it's interesting reading.
example of a design pattern"
MVC is the canonical example of the "Cargo Cult" design pattern of
blindly aping Smalltalk without understanding it or considering if there
are any more appropriate design patterns.
I've never heard a good explanation of what a "controller" is really
supposed to do (other than entangle brittle dependencies between the
view and the model, and allow programmers to bill for more hours
maintaining the code). But people always throw in that extra
"controller" class and its requisite complexity, just because Smalltalk
uses them, and it doesn't feel right imitating Smalltalk without the
whole MVC trifecta.
Just because MVC is a commonly used and cited "pattern" doesn't mean
it's the best one to use in all cases. It's better to have a "purpose"
than a "pattern".