怎样应用设计模式

原创 2005年05月31日 15:19:00
   

Erich Gamma的一次谈话,第一部分,by Bill Venners2005-5-23

摘要:

在开发者中,设计时,采用设计模式是一种比较流行的方法。但是用什么比较合适的方法去考虑设计模式?在这次访谈中,《设计模式》这本书的作者Erich Gamma,和Bill Venners讨论用正确的方法去思考好使用设计模式。


设计模式的真实价值

Bill VennersBruce Eckel和我在教授设计课程的时候,我们发现人们真的想知道 Gang of FourGoF)模式。设计模式的市场是很大的。

Erich Gamma:仍然,但十年后呢?

Bill Venners:是的。人们想知道模式。我怀疑模式是一个通用语。关于模式,我想揭开这个欺诈去找出什么是人们应该知道的。他们应该以什么样的态度去应对模式?人们怎样才能使用设计模式去完成好一项工作?什么是最真实的价值。

Erich Gamma:我认为整个模式能帮助人们以面向对象的方法去思考:你怎样利用多态,结构设计,团对,平衡责任,提供能插入的行为。模式超越了在对象中应用图形形状这样的例子,在形状类中的继承和使用一些多态的绘画方法。当你懂得设计模式的时候,你才真正的学习了多态。所以设计模式是一种学习面向对象和设计的好的方法。

以上所说的,每一个独立的模式都有不同的特征,在一些地方你需要更灵活的模式,或者需要形成一种抽象的事物,或者使你的代码变少。这就是在一个大系统中真正的大问题。你怎样维护好你的层次?你怎样避免循环依赖?GoF模式提供很少的工具去帮你解决这些问题。他们不是用来提供合适的解决方案,它是用来解释权衡关系的。即使模式是从具体使用中抽象出来的,它们也提供给你可实现的线索的价值。我的观点是,事实上,模式是可实现的,那才体现了它们的价值。

模式是从许多有经验的专家中提取出来的。他们能够让你重复一个成功的设计。你可以站在专家的肩膀上,而不必去重新开始。然而,模式能够使许多实现变种,你仍然应该保持清醒的头脑。模式提供给你设计结构的名字,阻挡了他们提供给你一个词汇去描述和讨论一个特殊的设计。

另外一个问题就是我们怎样教授模式。并非我真正知道你应该做什么,但是我认为你不应该做什么,仅仅是进行分类和列举这23种设计模式。这种方法不会带来任何东西。你应该感觉到设计模式的不足之处。我猜想你只是评价一个模式,而没有感觉到模式带来的痛苦。
......to be continue
本文来自http://www.artima.com/lejava/articles/gammadp.html
我尝试着进行翻译,著作权归by Bill Venners

应用UML和设计模式

  • 2014年03月07日 12:01
  • 370KB
  • 下载

Java设计模式的常见应用场景

一、Java I/O中的设计模式1、适配器模式适配器模式就是把一个类的接口变换成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。通常被用在一个项目需要引用一些开...

C++ ACE中的设计模式应用场景

  • 2015年03月09日 09:31
  • 172KB
  • 下载

设计模式在C语言中的应用--读nginx源码

市面上的“设计模式“书籍文章,皆针对Java/C++/C#等面向对象语言,似乎离开了面向对象的种种特性,设计模式就无法实现,没有用武之地了。 是这样吗?设计模式的概念是从建筑领域引入的,本身...

设计模式应用.rar

  • 2010年07月02日 15:04
  • 24KB
  • 下载

Java中的DAO设计模式应用举例 ------> 来自Java WEB 开发实战经典

项目的整体框架图如下表所示: 1、以mysql数据库作为本次演示的数据库,在数据库里面新建一个mldn,新建一个表,表名为emp DROP DATABASE IF EXISTS m...

设计模式-Java语言中的应用

  • 2007年04月05日 12:29
  • 196KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎样应用设计模式
举报原因:
原因补充:

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