<p>一上班就看到这么有趣的一篇文章……尤其是那句“我最喜欢Decorator模式!我随时都要使用它!”让我捧腹大笑。软件业的时髦的确是非常非常之多,尤其是当创新与时髦紧密融合时,时髦就更成为一种必不可少的元素了。</p>
<h2 class="pageTitle">Software Fashion</h2>
<p class="bodyFootnoteEmp">By <a class="footnoteLink" href="http://www.javelinsoft.com/" rel="noopener noreferrer" target="_new">Robin Sharp</a>, <a class="footnoteLink" href="http://www.dinofancellu.com/" rel="noopener noreferrer" target="_new">Dino Fancellu</a> and <a class="footnoteLink" href="http://www.softwarereality.com/MattStephens.jsp">Matt Stephens</a><br>October 5, 2003</p>
<p>Related Articles: <a href="http://www.softwarereality.com/ExtremeProgramming.jsp">The Case Against Extreme Programming</a>, <a href="http://www.softwarereality.com/programming/ejb/index.jsp">EJB's 101 Damnations</a></p>
<p class="bodyOpenPara"><img align="left" alt="Britney's let herself go" height="338" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-1b167c286531906af8f1c3ef3e3a2dd3.jpg" width="173">Like any industry, the software world suffers its own fashions. We often see new technology bound onto the software stage with a great fanfare. "Everybody's talking about it! Digital Code Scrubbing is the future! All code should be scrubbed!" Then, after a year or two, the new technology quietly skulks away into the fashion graveyard, when people begin to realise that the technology just hadn't delivered on its many inflated promises (as demonstrated by Britney, our sexy young model over on the left).</p>
<p>At worst, the technology will die out. At best, the fab technology will find its correct niche - the niche that it should have comfortably filled in the first place.</p>
<p>In the "real" fashion world, bell-bottoms, miniskirts, hotpants, Farrah Fawcett hairdos, Calvin Klein pants, fatness and thinness have all come and gone as either <em>the</em> thing to wear, or <em>the</em> thing to be. We tend to look back on fashions past with either fond nostalgia or a twinge of embarrassment. In the software world, it's not that different.</p>
<p>A good example of an over-hyped technology dying out is WAP. The initial hype suggested to both punters and content providers that WAP would provide "the Internet on your mobile phone". The reality, of course, was like playing tennis in a broom cupboard: a rather pathetic text-only display dribbling onto drooling punters' tiny-screened phones. The truth was considerably different from the promises bubbled out by marketing hypesters and IT journalists regurtitating inflated press releases about WAP's joyous [money-making] potential.</p>
<p>Hype and overselling is a big contributor toward software fashion. Hype is usually at the executive level - describing technology to managers. To do this, the hype must be distilled down to its core, generic essence . . . which is:</p>
<blockquote>
<p class="bodyQuote">Technology X = Money/Success/Silver Bullet</p>
</blockquote>
<p>Greed is also a driver behind certain types of fashion - but in the IT world, it's surprisingly a niche player. It seemed most prominent with WAP: content providers thought they were going to make megabuckets of cash from this new age of mobile computing.</p>
<p> </p>
<p class="pageSubTitle">Inappropriate Use of Technology</p>
<p>Software fashion means "everybody's doing it!" - which in turn means "you're mad if you're not doing it too." A direct consequence (which can also recursively feed back into the hype and overselling) is the inappropriate use of a new product or technology: like using Black & Decker's amazing new UltraHammer to fit a light bulb, or like a fat girl in a crop top.</p>
<p>In the software world, some examples of inappropriate usage are: EJB for a small ecommerce app; extreme programming for a short-term project with stable requirements; Struts for a web project where plain old JSP + JavaBeans would do the job handsomely; taglibs where adding a new meta-language rewards the team with nothing but confusion; or Model 2, design pattern mania where someone on the team has read <a href="http://www.amazon.com/exec/obidos/ASIN/0201633612/softwarereali-20" rel="noopener noreferrer" target="_new">GOF</a> and hence decided to shoehorn as many design patterns as possible into their design.</p>
<p>Design pattern usage is often seen as an end in itself. Robin (intrepid co-author of this article) was once asked during a job interview: "What's your favourite design pattern?" What's the correct response to that? "Oh, Decorator every time! Yeah, I use it for everything!"</p>
<p>Web services technology also gets more than its fair share of misuse. Web services are great, if that's <em>really</em> what you need. The problem arises when people use web services "just because", or apply web services inappropriately, like using SOAP as an internal messaging bus.</p>
<p>When hype overtakes a person's ability to appraise a technology objectively, then of course it's going to start to be used for the wrong things.<br><br></p>
<p> </p>
<table align="right" border="0" cellspacing="5"><tbody><tr><td width="126"><img align="left" alt="Micro-Horse Unleashed" height="175" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-a1c75be48601dda55f75024d860fb9aa.jpg" widt |
|