软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
提高Design Pattern的学习效率一法:利用重构

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

有很多朋友学设计模式,都知道这是个提高功力的东西,但如何去学一直没有特别好的方法,学的不错的,能把几乎所有的模式的类图画出来,而且能把其间的关系将的头头是道,学的迷糊的,可能各个模型之间的区别都分不太清楚,但究竟怎样才能把这些图彻底消化掉,变有招为无招呢?我自己也不例外,记着刚学设计模式的时候,看那本经典的《design pattern》,好容易看明白了,脑袋里只有那些类图了,但怎么去实践呢?匆匆写几个看似符合pattern的例子,有用吗?好像没有效果。当然,最直接的办法是设计一个项目,想办法把这些pattern用进去,看似不错的一个程序。。。。。然而没有用,这并不能真正变为自己的东西,因为软件开发过程其实是先有图纸,后去买材料,而不是先有砖瓦再考虑设计什么样的房子。但在学习的开始,你并没有足够的能力去设计一张能充分利用砖瓦的图纸出来。怎么办? 我个人觉得对自己以前代码进行重构(Refactoring),效果会相对比较好~~重构的过程是自我批评的过程,它往往比批评别人困难,但一个好处是你对它熟悉,从中抽象出来一些模式进行refactoring,呵呵,也许这本身就是战胜自我的过程吧。

这个过程最重要的是忘却,忘掉那些该死的不能体现pattern本意的名字,甚至类图也不用有什么印象,学习模式的唯一目的是让那种自己最原始的想法是高效的、可扩展的,管他叫什么模式,Builder和Abstract Factary 有本质界限吗? 都忘了就对了,唯一的原则是进行合理的抽象,只要你的设计颗粒度合理,最终的效果不错,钱源源不断的挣到手 就成了 ^_^




相关文章

相关软件