我学习使用java的一点体会(6)

原创 2003年10月21日 00:07:00

      现在应该说一说设计模式的学习了。设计模式是一个高度抽象的概念,每一种模式都是被抽象化了的解决某一问题的成功经验,理解设计模式需要洞察力,因而学习设计模式前,最好有一定的经验,不然很难体会设计模式的精髓。

      写设计模式方面的文章对我来说困难重重,首先由于经验、水平的限制,对设计模式的理解还没有达到那个高度,其次设计模式文章很多,从简单介绍,到深入讨论都有,很难再有新的视角讨论。我今天就简单介绍一下我读过的两本设计模式的书,从我对这两本书的理解来介绍一下设计模式。

      设计模式方面的书、资料很多,我读过两本,《设计模式》和《java与模式》,下面分别介绍。

     《设计模式》就是常提及的Gof写的那本,是使用模式化方法研究的开创性著作《Design Patterns Elements of Reusable Object-Oriented Software》的中译本。无论如何这本书都称得上是经典,值得收藏,可以隔一段时间拿出来品味一番。全书共6章,第一章引言,介绍了关于设计模式的基本概念,以及如何阅读这本书。第二章介绍了一个应用了多个设计模式的实例。第三章讨论了5个创建型模式,第四章讨论了7个结构型模式,第五章讨论了11个行为模式。第六章是结论。本书提及的23个设计模式,也是模式中的经典,在新创建的设计模式中,很大部分是这23个模式中的变体。但这本书晦涩难懂也同样出名:

  1. 这本书介绍设计模式的对象描述语言,不是我们现在通用的UML,学习时,需要理解这种对象描述语言。
  2. 这本书示例实现语言是smalltalk和C++,学习这本书时要熟悉这两种语言,而C++本身就是一个非常难的语言。

我认为这本书不适合初学设计模式的人,尤其对于java开发人员。

      《java与模式》是对《设计模式》在java这方面做的简单演绎。全书共55章,前两章介绍一些基础知识,包括UML的基本知识,接下来9章介绍面向对象的编程原则,剩余44章,讨论了26个设计模式,18个主题。这18个主题是设计模式在应用中的一些示例,有些是作者的经验,有些是广泛应用的成功示例。

       《java与模式》是针对java语言的,因而示例都是用java实现的。本书提供大量的简单示例,简单的示例易于理解,便于以后使用模式时模仿。而在主题部分讨论的问题又很深刻,体现了作者对软件设计的深刻理解,是作者对设计模式的一个演绎。虽然这门书相对简单,我也是读了3遍之后,才体会出这本书的味道。以下是我阅读这本书的一点心得,我阅读了三遍,就将每一遍我理解了什么说一说。

  1. 第一次阅读:本书的前两章是基础的概念,自然要先了解;而面向对象的原则部分,需要一定的体会之后才能深刻理解,因而第一次读时,能理解多少就理解多少,不必深究;对于设计模式的阅读,至少要熟悉每个模式的uml图以及这个模式的示例代码;主题是第一次阅读的重点,这些主题是应用设计模式的范例,应该主要理解。
  2. 第二次阅读,要明白面向对象的原则说的是什么;重点研究每一个设计模式,理解适用范围,理解优缺点,以及模式和模式的比较,在每个设计模式中如何体现面向对象的设计原则。
  3. 第三次阅读,重点是体会面向对象的原则。

      设计模式的学习不是一个简单的过程,需要反复学习,不断实践。

我学习使用java的一点体会

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";...
  • java169
  • java169
  • 2008年05月24日 04:12
  • 142

我学习使用java的一点体会

      2002年初,因为公司的业务需要而学习java,并应用java开发项目。由于项目时间紧,没有充裕的时间系统学习java,对java的学习只能是项目需要用什么,就学什么,这种学习方法的上手快...
  • xuyongshuo
  • xuyongshuo
  • 2003年10月07日 20:48
  • 873

学习java基础的心得感悟

学完java基础,对java面向对象的思想有更加深刻的认识了,从学习java语言概述到最后网络编程IDE的使用,时间用了1个月零9天,上课时间28天,回首感觉快又感觉漫长,学的东西确实挺多的,很多知识...
  • zenghuachao
  • zenghuachao
  • 2017年05月07日 12:19
  • 221

汇编语言学习体会

在没有学习汇编语言以前,我可能会对汇编这门强大而又难学的程序设计语言产生怀疑,因为现在我们有那么多的高级编程语言可以学习,尤其是现在日益强大的面向对象语言。而且每种语言都要比汇编语言学起来容易,而且开...
  • bitsjx
  • bitsjx
  • 2010年06月11日 20:53
  • 6283

我学习使用java的一点体会(4)

      本文的上一篇发表之后,承蒙各位网友关注,发表了很多评论,我感觉很多人对我写得文章有误解,大概是我表述不清楚的原因吧。这篇文章是对上一篇的补充,以一个示例阐述了解collection框架的重...
  • xuyongshuo
  • xuyongshuo
  • 2003年10月14日 00:56
  • 1017

我学习使用java的一点体会 xuyongshuo(原作)

2002年初,因为公司的业务需要而学习java,并应用java开发项目。由于项目时间紧,没有充裕的时间系统学习java,对java的学习只能是项目需要用什么,就学什么,这种学习方法的上手快,但不扎实,...
  • figoli
  • figoli
  • 2007年09月07日 15:15
  • 272

我学习使用java的一点体会(8)

      在我这个系列文章写完之后,我突然发现我漏掉了面向对象设计应该掌握的重要内容——UML,虽然我在前面的文章中提起过UML,但UML对于java的重要程度,是应当单独列文说明的。      U...
  • xuyongshuo
  • xuyongshuo
  • 2003年10月22日 11:56
  • 927

我学习使用java的一点体会(7)

      前面的系列文章,只是我个人的体会,文章有些教条,仅希望能给还在java门外的人一点意见。学习、应用java的方向,我推荐看一下《谈java的学习方向?》,这篇文章写的不错(见http://...
  • xuyongshuo
  • xuyongshuo
  • 2003年10月20日 15:17
  • 1023

我学习使用java的一点体会(3)

java基本类库的学习         曾经面试过一些java程序员,我出的题目是在使用java时,经常用到哪些类,在哪个包里。很少有人能答好,甚至有人做了2年java程序都没有回答出,他们会用jav...
  • xuyongshuo
  • xuyongshuo
  • 2003年10月14日 21:00
  • 858

我学习使用java的一点体会(2)

面向对象观念的建立         Java是面向对象的开发工具,使用java开发应用时,一定要懂面向对象编程的概念。在学过了java语法之后,应该建立OOP的概念。理论学习阶段,首先应当理解clas...
  • xuyongshuo
  • xuyongshuo
  • 2003年10月07日 20:46
  • 915
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我学习使用java的一点体会(6)
举报原因:
原因补充:

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