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

RefactoringtoPatterns——简介

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

过分设计会影响生产力,因为当别人接过一个这样的设计时,他不得不花些时间来了解设计的细微之处,然后才能舒服地扩展或维护它。

过分设计总是悄悄地发生,许多设计师和程序员甚至都没有意识到自己正在过分设计。当他们的公司发现团队生产力下降时,很少有人知道过分设计在其中扮演的角色。

程序员们会过分设计,也许主要的原因是他们不想被糟糕的设计困住。糟糕的设计常常跟代码结合得过于紧密,所以很难改进。我也曾经遇到过这种事,所以我才会这么喜欢使用模式预先做好设计。

模式,万灵药

当我第一次开始学习模式的时候,它们向我展示了一种灵活、精妙而优雅的面向对象设计方法,这正是我非常想掌握的。在系统地学习了模式之后,我就开始使用它们来改进以前的系统、构造以后的系统。由于我知道模式能带来怎样的效果,所以我觉得自己走的肯定是一条正确的路。

但是,随着时间的推移,模式的威力让我对更简单的编写代码的方式视而不见。只要发现有两种或者三种不同的计算方法,我马上就跑去实现Strategy模式,但是实际上一个简单的条件表达式会更简单、更容易实现,也更加实用。

有一件事情让我对模式的专注显露无遗。当时,我和另一个人一起写程序,我们俩已经写了这样一个类:它实现了JavaTreeModel接口,用来在一个树型窗口控件中显示特定对象的图案。我们的代码能够工作,但是树型控件在显示时会调用每个被显示对象的toString()方法,但这个方法并不能返回我们想要的信息。我们也不能修改toString()方法,因为系统的其他部分对这个方法还有依赖。于是,我们开始想办法。习惯所致,我马上就想到了模式。首先浮现在我脑海中的是Decorator

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