--- drieux <[EMAIL PROTECTED]> wrote: > But I am soooo not sure that the history will help the discussion, > in part, since the 'meme' has drifted and gained a sense of > orthodoxy all out of proportion to the underlying argument > as you note with:
drieux, "Design Patterns" were originally a tool to provide a common language. If the current discussion of MVC differs significantly from the original (historical) implementation of MVC as described by the Gang of Four, then we're going to have a problem if programmers do not understand this distinction because a "common vocabulary" no longer exists. In other words, we can't use common terms if we don't realize that our definitions differ. For example, arguing over whether or not "change" is important is pretty silly if I don't realize that I am talking about a verb and the other person is talking about a noun :) Which brings me to my next point: > Unfortunately, at this point in history, I fear you are being > a bit optomistic that "Design Patterns" were intent upon > providing a common 'vocabulary' (Disclaimer: like so many others who cite the Alexander book, I've not actually read it. I'm referring to the description by M. J. Dominus. I trust that he knows what he's talking about.) Design Patterns first appeared in a book by Christopher Alexander (though I don't believe he used the phrase "Design Patterns"). This book was named "Pattern Languages" and it was about providing a common language for basic architectural designs (http://perl.plover.com/yak/design/samples/slide011.html). Did the Gang of Four intend to borrow the concept of naming, or did they decide that Design Patterns were these concrete things to be handed down and slavishly worshipped? Here's part of how *they* describe Design Patterns: "A design pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in object- oriented systems." In short: GoF patterns provide a common vocabulary, just as the original Alexander book intended. Mind you, some think that the intention of the GoF was simply to hand out code samples and say "you must do it this way". If you read DP, the authors make it clear that there are good and bad points to every pattern. The point of the book was to give some good strategies for problems and give names to those strategies. Today, I can quite comfortably suggest to a programmer "use a factory pattern" and they'll slap their forehead when they realize how it solves their problem. I do not have to hand them code and say "do this". Naturally, this presupposes that the programmer knows what a factory is. But what happens when I say "use an MVC pattern"? The programmer might say "but I'm writing a CGI script and I don't have multiple Views and Controllers that need to by synchronized and updated." If I didn't know the problem space that MVC was applied to in the book I might be scratching my head over that one. For some interesting thoughts, go read Dominus' presentation on the topic (http://perl.plover.com/yak/design/). I, however, am pretty much done here. I have work to do :) Cheers, Ovid ===== Silence is Evil http://users.easystreet.com/ovid/philosophy/indexdecency.htm Ovid http://www.perlmonks.org/index.pl?node_id=17000 Web Programming with Perl http://users.easystreet.com/ovid/cgi_course/ __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]