怎样应用设计模式
来源:互联网 发布:php curl 不等待返回 编辑:程序博客网 时间:2024/04/28 16:29
和ErichGamma的一次谈话,第一部分,byBill Venners,2005-5-23
摘要:
在开发者中,设计时,采用设计模式是一种比较流行的方法。但是用什么比较合适的方法去考虑设计模式?在这次访谈中,《设计模式》这本书的作者ErichGamma,和BillVenners讨论用正确的方法去思考好使用设计模式。
设计模式的真实价值
BillVenners:BruceEckel和我在教授设计课程的时候,我们发现人们真的想知道Gang of Four(GoF)模式。设计模式的市场是很大的。
ErichGamma:仍然,但十年后呢?
BillVenners:是的。人们想知道模式。我怀疑模式是一个通用语。关于模式,我想揭开这个欺诈去找出什么是人们应该知道的。他们应该以什么样的态度去应对模式?人们怎样才能使用设计模式去完成好一项工作?什么是最真实的价值。
ErichGamma:我认为整个模式能帮助人们以面向对象的方法去思考:你怎样利用多态,结构设计,团对,平衡责任,提供能插入的行为。模式超越了在对象中应用图形形状这样的例子,在形状类中的继承和使用一些多态的绘画方法。当你懂得设计模式的时候,你才真正的学习了多态。所以设计模式是一种学习面向对象和设计的好的方法。
以上所说的,每一个独立的模式都有不同的特征,在一些地方你需要更灵活的模式,或者需要形成一种抽象的事物,或者使你的代码变少。这就是在一个大系统中真正的大问题。你怎样维护好你的层次?你怎样避免循环依赖?GoF模式提供很少的工具去帮你解决这些问题。他们不是用来提供合适的解决方案,它是用来解释权衡关系的。即使模式是从具体使用中抽象出来的,它们也提供给你可实现的线索的价值。我的观点是,事实上,模式是可实现的,那才体现了它们的价值。
模式是从许多有经验的专家中提取出来的。他们能够让你重复一个成功的设计。你可以站在专家的肩膀上,而不必去重新开始。然而,模式能够使许多实现变种,你仍然应该保持清醒的头脑。模式提供给你设计结构的名字,阻挡了他们提供给你一个词汇去描述和讨论一个特殊的设计。
另外一个问题就是我们怎样教授模式。并非我真正知道你应该做什么,但是我认为你不应该做什么,仅仅是进行分类和列举这23种设计模式。这种方法不会带来任何东西。你应该感觉到设计模式的不足之处。我猜想你只是评价一个模式,而没有感觉到模式带来的痛苦。
......to be continue
本文来自http://www.artima.com/lejava/articles/gammadp.html
我尝试着进行翻译,著作权归by Bill Venners
- 怎样应用设计模式
- 怎样使用设计模式
- 怎样使用设计模式
- AJAX设计模式 之 怎样构建一个可刷新的无刷新应用
- 设计模式怎样解决设计问题[笔记]
- 设计模式怎样解决设计问题
- 从设计模式怎样提升设计
- QTP应用模式设计
- QTP应用模式设计
- 设计模式应用场景
- 工厂设计模式。。应用
- 设计模式应用场景
- 设计模式应用场景
- 设计模式 应用场景
- 观察者设计模式应用
- 设计模式 应用场景
- 设计模式应用场景
- 设计模式应用分类
- 写在61儿童节前夕
- struts+spring+hibernate快速入门
- char、varchar和varchar2的区别(zz)
- 怎样配置和管理WinXP/2003系统服务
- 我的健身计划(一)
- 怎样应用设计模式
- Oracle Tuning (Oracle 性能调整)的一些总结
- iBATIS简介
- 魂斗罗 吉他谱
- 什么是DAO
- Intel x86 PC的引导(硬盘部分)(一)
- 如何在其他程序的窗口上创建按钮并使之能响应
- 军委曹刚川副主席到我们母校视察
- 跨进程实现在Tree中快速定位节点