手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>其它>列表

RefactoringtoPatterns——简介

来源:互联网 作者:西部数码 时间:2008-04-10
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

模式是面向对象设计的基石,而测试优先的编程方法和大刀阔斧的重构则是进化式设计的基石。为了避免过分设计或者设计不足,我们有必要学习如何让模式适应新的、渐进式的软件开发节奏。

——Joshua Kerievsky

软件模式的伟大之处就在于:它们传递了许多有用的设计思想。那么,如果学了一大堆模式,你就能成为一个相当优秀的软件设计师,对吗?当我学了、用了几十个模式之后,我也这样想过。这些模式帮助我开发了更灵活的框架,建造了更坚固、更具扩展性的软件系统。但是,两年以后,我发现:对模式的了解和使用常常让我陷入过分设计的境地。

设计技能再提升一个档次之后,我发现自己开始以另一种方式使用模式:重构以得到模式,而不是在前期设计中使用模式,也不过早地把它们引入代码之中。这种新的方式来自于极限编程(XP)的设计实践,它使我的设计不多不少,恰到好处。

什么是过分设计?

当你把代码搞得比需要的还要复杂、还要灵活时,你就是在过分设计。有些人这样做,是因为他们相信自己知道系统未来的需求。他们认为:最好是今天就把设计做得灵活些、复杂些,这样它就能适应明天的需要。听起来很美,如果你能未卜先知的话。

但是,如果你的预言错了,你就是在浪费宝贵的时间和金钱。花上几天乃至几周的时间去给设计增加不必要的灵活性,这种情况很常见——结果,给系统加新功能、排除错误的时间就少了。

如果你按照预先的设想写出了代码,但是预想的需要却没有出现,怎么办?你不会删掉它,因为删掉它会比较麻烦,或者你还希望以后能用上这些东西。不管出于什么原因吧,反正这些过分灵活、过分复杂的代码越积越多,你和团队中其他的程序员就不得不在越来越多、越来越复杂的代码基础上工作。

为了补偿这一切,人们决定把系统分成独立的小块,各自负责一块。这看起来能让他们的工作轻松些,但是却有副作用:每个人都按照自己的想法去写代码,很少看看别人是不是已经做过了自己需要的工作,所以就产生很多的重复代码。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!