look to the master, follow the master, walk with the master, see through the master, become the master.

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  213 随笔 :: 0 文章 :: 285 评论 :: 0 Trackbacks
Artima Developer的总编 Bill Venners在对Erich Gamma的一次采访中,仔细讨论了Design Pattern(设计模式)的问题。当我们做设计的时候,我们首先会想到使用设计模式。那么如何使用设计模式?如何用设计模式进行思考?是否当你解决一个问题的时候,必须要使用设计模式?

Bill Venners将把这次访谈的内容分多次,发表在Artima Developer上。Erich Gamma的论述确实精彩,他不仅谈到了当初如何进入Design Pattern这个领域的过程,也谈到了在他开发JUnit的过程中,如何设计JUnit,以及如何在JUnit中使用Design Pattern。

“I think patterns as a whole can help people learn object-oriented thinking: how you can leverage polymorphism, design for composition, delegation, balance responsibilities, and provide pluggable behavior. Patterns go beyond applying objects to some graphical shape example, with a shape class hierarchy and some polymorphic draw method. You really learn about polymorphism when you've understood the patterns. So patterns are good for learning OO and design in general.”

“Patterns are distilled from the experiences of experts. They enable you to repeat a successful design done by someone else. By doing so you can stand on the shoulders of the experts and do not have to re-invent the wheel. ” 

“Do not start immediately throwing patterns into a design, but use them as you go and understand more of the problem. Because of this I really like to use patterns after the fact, refactoring to patterns. ….. Trying to use all the patterns is a bad thing, because you will end up with synthetic designs—speculative designs that have flexibility that no one needs. These days software is too complex. We can't afford to speculate what else it should do. We need to really focus on what it needs. ” 

“We didn't just string patterns together when we designed JUnit. We did it test-driven, starting with a test that we wanted to succeed and once it passed we looked into how we could improve the code. ”

Who is Erich Gamma?(这个问题好像问的有些傻)

《Design Patterns: Elements of Reusable Object-Oriented Software》,《Contributing to Eclipse: Principles, Patterns, and Plug-Ins》的作者之一;JUnit的作者之一;Eclipse JDT的负责人。他目前在IBM的瑞士苏黎世OTI实验室工作。 


Artima Developer
CSDN 上的中文翻译

Email this store to a friend (send a short email with a subject to this story)
Subscribe to kukooBlog (subscribe kukooBlog's RSS feed)
Send me feedback on this story

Yourit Technorati cosmos
Yourit Programming

posted on 2005-05-25 18:13 kukooBlog 阅读(2246) 评论(8)  编辑  收藏 所属分类: Programming


# re: 如何思考Design Pattern? 2005-06-03 15:03 lxwde
i'll put the translation of the second part on my blog next week.

csdn's blog is very unstable these days.  回复  更多评论

# re: 如何思考Design Pattern? 2005-06-04 09:16 kukooBlog
[To lxwde]: glad to know it. maybe you can put a comment here after you post your translation. I will include your post URL.  回复  更多评论

# re: 如何思考Design Pattern? 2005-06-08 13:13 lxwde
the first and second part are finished:



hope it helps.

  回复  更多评论

# re: 如何思考Design Pattern? 2005-06-08 13:35 kukooBlog
[To lxwde]: Thank you very much for the Chinese translation. I have included your blog entries in both of my blogs.  回复  更多评论

# re: 如何思考Design Pattern? 2005-06-08 13:39 kukooBlog
[To lxwde]: The 3rd part is pulished (http://www.blogjava.net/kukoo/archive/2005/06/07/5704.html). Hope to see your translation soon.   回复  更多评论

# re: 如何思考Design Pattern? 2005-07-09 10:51 lxwde

http://blog.dreambrook.com/lxwde  回复  更多评论

# re: 如何思考Design Pattern? 2005-10-30 03:32 joseph.nyirenda@gmail.com
Is there a chinese version of the GOF book?  回复  更多评论

# re: 如何思考Design Pattern? 2005-11-01 17:25 zesion
迷惑,继续学习这方面知识  回复  更多评论