关于设计模式的几点思考

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

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

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

相关文章推荐

关于设计模式的几点经验分享

设计模式大家都很熟悉,什么简单工厂模式,抽象工厂模式,命令模式,适配器模式几乎每个开发人员都能说出个一大堆来,但到实际应用时又往往难以落地,或被滥用,本周有幸去参加大胡子的两天的设计模式的课,感觉还是...

设计模式几点原则

《设计模式之禅》笔记: 这里说的抽象指的是:接口类和抽象类。 抽象是对实现的约束,对依赖者而言,也是一种契约,不仅仅约束自己,还同时约束自己与外部的关系,其目的是保证所有的细节不脱离契约的范畴,确...

用设计模式思考 Thinking in Patterns

  • 2008年09月11日 11:26
  • 312KB
  • 下载

设计模式的简单思考

23种设计模式的核心就是多态和继承 设计的时候避免模块与模块之间的直接引用,如果直接引用就成了高耦合,如果想替换原来的模块会很麻烦,原来模块的声明分配,以及使用到该模块接口的地方,都要删除,然后再声...

从研究的角度来思考软件设计模式——研究方向

近期在做一些关于软件设计模式的研究工作,通过广泛的收集与阅读,细致的分析与整理,现将设计模式的几个主要研究方向罗列如下: (1) 设计模式的可视化研究(Visualization)       如何在...

对Java开发的思考(代码组织、设计模式、开发流程)

近日终于参与到了一个正规的Java项目中。大约是抓取数据的项目。虽然人少,但人员水平高啊。在这种情况下,我就是在别人搭好的框架上添砖头的。 但搬砖时,也暗暗欣赏人家的框架之美(毕竟是公司出身嘛),在...

从软件隐喻到设计模式的思考(thinking in software metaphors)

软件开发人员怎么理解软件开发过程具有十分重要的意义,在工作中我经常用房屋建造来比喻和思考软件开发,这样的比喻能够帮助工程师注意开发过程中的潜在问题,对于提高代码质量,提高工作效率,降低技术风险都有重要...
  • ff_wwb
  • ff_wwb
  • 2017年01月03日 15:54
  • 289

设计模式大杂烩(24种设计模式的总结以及学习设计模式的几点建议)[转载]

设计模式大杂烩(24种设计模式的总结以及学习设计模式的几点建议)          作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为...
  • hjy3000
  • hjy3000
  • 2014年04月27日 18:23
  • 153

对《设计模式之禅》中里氏替换原则的思考

里氏替换原则的定义: 定义一:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时(o2都替换成o1吧?),程序P的行为没有发生变化,那么...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于设计模式的几点思考
举报原因:
原因补充:

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