关于设计模式的几点思考

原创 2006年06月13日 17:28:00

设计模式是对一些面向对象设计的经验总结,直接将这些总结出来的经验往项目里套,
这种做法个人认为是东施效颦,很容易导致误用设计模式。
设计模式是拿来学习研究的,研究的核心在于这些设计模式是如何应对变化,
每种设计模式所应对的是哪一种变化,变化的维度在哪里,Gof23种设计模式是如何提出解决方案的。
设计模式是面向对象设计的经验总结,所以设计模式不是一成不变的,也不应该是一成不变的。

基于变化,应用设计模式
在设计软件中,首先应该了解的是软件的需求,
这个软件需要解决什么问题,它应该有哪些功能,
进而分析出实现这些功能的所需要的模块和基本框架,这些模块和框架就是基本模型,
再进而对需求的可能变化方向进行预测,对基本模型进行调整,增强其扩展性,得到一个可扩展模型
再进一步是对可扩展模型的内部结构进行分析优化,降低各模块的耦合度。
在最终设计的结果可能应用到设计模式,这种结果和直接套用设计模式可能是没什么分别,但走的道路是
截然不同的,这种对设计模式的应用是基于对变化分析的结果,变化分析不出错,
是绝无可能误用设计模式的,当然还有一个例外是使用者对设计模式的学习出错了,对于理解每种设计模式
所能应对的变化出错了。

关于Flash的几点思考(Thoughts on Flash)

苹果与 Adobe 的关系由来已久。Adobe 的创始人还在那如今已成传说的车库中工作时,我们就已经认识了。苹果是他们的第一个大客户,将他们的 Postscript 语言改为我们当时新推出的 La...
  • guangegwi
  • guangegwi
  • 2015年10月21日 11:51
  • 531

年终未必有奖金

点击上方“CSDN”,选择“置顶公众号”关键时刻,第一时间送达!薪资总是与能力相匹配,能拿高薪的程序员就必然有着过人之处。然而,很多程序员薪水达到一定级别之后就会遇到天花板,他们发现加薪幅度越来越小,...
  • csdnnews
  • csdnnews
  • 2018年01月25日 00:00
  • 3863

深度理解开发中的设计模式

有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth 提到的:对软件的过早地优化是万恶的根源。这里就简单的说几条重要的软件名人哲学。 1:软件中唯一不变的就...
  • AinUser
  • AinUser
  • 2016年09月06日 21:09
  • 568

【逻辑思考】除夕博思

年30晚上春晚开始之前,本想写点什么,但是由于窗外炮竹响个不停(由于住的是一楼,楼与楼之间的空隔特别小,鞭炮就在窗下响,离的太近),所以根本没办法整理思路,想到这首诗。我本将心写博客,奈何炮竹响不停。...
  • testcs_dn
  • testcs_dn
  • 2017年02月03日 08:54
  • 554

关于栈的小思考

1.栈有时候就像个顺序表,只不过用个top,亦或是top和base来进行模拟,多了个指向而已...
  • xbh16110501060
  • xbh16110501060
  • 2017年01月31日 22:37
  • 120

关于 衰老的思考

从事生命科学工作已经有一段时间,今天跟大家分享一下我对衰老的思考。 (一).我认为衰老是这样形成的    在体外进行细胞传代培养,研究人员发现细胞的代数越多,细胞的分裂会变慢。    我...
  • weizhongxing6
  • weizhongxing6
  • 2016年02月18日 10:24
  • 542

关于“人工智能”的思考

(一点点想法和思考)       “人工智能”,窃以为是计算机科学最引人入胜的一个方向,可惜的是我们还没能看到有任何突破性的进展,就像网易公开课对“斯坦福机器学习”课程的描述一样,“人工智能”似乎遇...
  • Dark_Scope
  • Dark_Scope
  • 2013年01月12日 21:29
  • 2933

叔本华系列之(一)论独立的思考

即使是藏书最为丰富的图书馆,如果里面的书籍胡乱摆放,那么它的实际用处还不如一个收藏不多、但却整理得井井有条的小图书室。同样道理,如果大量的知识没有经过自己细心地思考加工,那么它的价值也远远逊色于数量较...
  • c_trekman
  • c_trekman
  • 2016年11月26日 14:55
  • 215

关于语言的思考

之前写了那么多 Haskell 的不好的地方,却没有提到它好的地方,其实我必须承认我从 Haskell 身上学到了非常重要的东西,那就是对于“类型”的思考。虽然 Haskell 的类型系统有过于强烈的...
  • cytzrs
  • cytzrs
  • 2015年12月16日 13:29
  • 236

读《面向对象的思考过程》作者matt Weisfeld

最近接触了很多java代码,开始于机缘巧合,读了《java编程思想》的大概前四分之一,这比我读《C++primer》还要多了,两本都是大部头,我能完整读完还需毅力。惊讶于两门语言语法非常的相似,之前对...
  • czl389
  • czl389
  • 2017年02月22日 11:36
  • 1083
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于设计模式的几点思考
举报原因:
原因补充:

(最多只允许输入30个字)