主页>技术社区>IT 技术与微软技术>编程开发>JAVA>Java 高级技术>Java 设计模式

Java设计模式和软件工程之DesignPattern介绍

eIT.com.cn 2008/7/29 12:09:13 阅读 94 次

打印



  什么是Design Pattern...
  
  在OO Design中,reueable 是一个非常重要的组成部分。也就是说如何让你的code能被其他的程序利用是design的关键部分!
  
  让code reuseable有多种办法,除了oo language本身的hirechay等特性外,把现实中的问题记录下来,然后发表,可防止重复的开发过程。
  
  Design Pattern就是一些已被记录的方法,并且有系统的描述。
  
  根据 Christopher Alexander “每个pattern描述了在特定环境下发生了很多次的问题,然后你便可以描述这些问题的共性并提供解决的办法”
  
  这就好象砖头一定是方的,这样他便能很容易地和其他砖头一起被砌成房子。
  
  Java在resuseable方面有突出的表现,如interface的引入,使很多在c++中暧昧的继承关系得到有效的解决。应该来说,java语言的本身拥有很多OO的嫡系血统,整合了现代的编程方法。当然我们都了解有关
  implementation的缺陷使得它的应用受到很大限制。但从design的角度说,它的确是一种非凡的东西。这也是为什么我想用它来解释pattern的原因。
  
  实例1:在sun java的native lib中,我们随处可见design pattern的身影。比如在新的event model中,Listener 便是一种叫Observer的pattern(MFC 中的notification 也是出于其中)
  
  实例2:JFC UI种的plugable Look & Feel 结合了Abstract Factory 和Bridge Pattern。前者能产生一组widget factory,而后者则提供了建立
  
  在一致interface上具体的实现方法。
  
  当然在实际的开发中你可能遇到各种问题,如果你能把它们系统地记录下来并提供实际的解决办法,这就可能是一种新的pattern。但记住pattern是能解决一类问题的方法,而不是一个问题。所以对一类问题的共性归类很重要。在以后我们会介绍如何来做这方面的工作。
  
  后:
  
  1.小弟的中文水平差的可以,那位仁兄能帮忙指正的话,在下感激不尽。
  
  2.做比说重要。
  
  3.多谢compiler的鼓励,希望能共同努力,把这一系列写完
  
  4.这里到底是不是java group? 怎么尽是些不着边际的post.
  上一次我们主要介绍了什么是Design Pattern,作为一部分的补充,这次想讨论一下记录Design Pattern的格式和方法。
  
  虽然Design Pattern源自于Object Oriented Design的方法,但它又是完全基于实践的。因此选择何种语言及上下文的关系对与读者至关重要。
  
  基本上每种Pattern都会有相应的UML(1)和Interactive Diagram(2),同时配以简洁的示范代码来表达作者在当时的想法。
来源:收集整理于互联网





相关内容

• 设计模式之非主流存储数据方式 (2008/10/4 17:08:12)
• JAVA入门,DAO设计模式 (2008/10/4 17:08:11)
• Java设计模式的中介者模式 (2008/9/8 18:58:42)
• Java设计模式之迭代器模式 (2008/9/8 18:58:41)
• Java与模式:缺省适配器模式 (2008/9/8 18:58:41)
• Java与模式:合成模式 (2008/9/8 18:58:40)
• Java与模式:适配器模式 (2008/9/8 18:58:39)
• 圣斗士星矢的状态模式和观察者模式 (2008/9/8 18:58:39)
• 使用Decorator模式翻译者:Disneytiger (2008/7/29 12:09:30)
• 利用Observer模式解决组件间通信问题 (2008/7/29 12:09:30)



热门栏目


特别声明


最新资讯
热讯排行



合作媒体友情链接
科技与视觉 软件开发教程 智慧城市生活网 息县通生活服务[移动版] 息县商圈[移动版] 美食菜谱
健康养生 百科常识 法律知识 科技频道 同城生活系统 留学考研学习


关于我们 | 联系我们 | 合作媒体 | 使用条款 | 隐私权声明 | 版权声明
      Copyright © eIT.com.cn. All Rights Reserved. 豫ICP备20006152号-2