You could have just as easily said the same thing about objects as patterns.
Right on. I once worked for a project manager who couldn't make it two sentences without saying 'object'. He was very fond of patterns as well, and seemed to believe that if he made everything object oriented and utilized patterns then the project would succeed. 'Scalable' was the other word he loved: imagine a multithreaded server (in C++ for efficiency!) for sending messages over wireless networks. Never mind that all the messages went out ONE network device!!
Well, guess what, not only did the software not work reliably, but it became an example of how not to build that type of system.
No question there are clear advantages to OO programming and the incorporation of some design patterns; the real problem is believing that they are a panacea. A good dose of The Mythical Man-Month I think would be a sufficient countermeasure to OO/DP fixation.
Now if you want a really painful read, try Patterns of Software by Richard Gabriel. 200 pages of tedious speculation on the qualities of "good" software, which ultimately turns out to be the question of what constitutes objective beauty. He ends of up calling this thing "the quality without a name" and can only gesture at it with obscure utterances like "A system has this quality when it is at peace with itself, when it has no internal contradictions ... when it is true to its own inner forces".
Now, I majored in Philosophy, and so talk like this strikes a chord with me, but by god, this doesn't help much when you're staring down an Emacs buffer!
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||