中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 设计模式
《Java与模式》前言
作者:未知 时间:2005-07-24 21:24 出处:JR 责编:chinaitpower
              摘要:《Java与模式》前言
 设计模式和设计原则已经成为面向对象的编程(OOP),以及面向对象的设计(OOD)的最新进展。设计模式和设计原则可以帮助Java设计师针对日常系统设计工作所遇到的很多设计问题给出结构合理、易于复用、易于维护的示范答案。本书向国内的Java程序设计师介绍这一强大的工具。 
本书为何而写 
促使作者写这本书的原因有很多,最主要的原因有以下几个。 
第一,作者深深感到,虽然市场上有很多介绍面向对象技术的书籍,但是这些书籍中,有一些过于集中在理论层面,而有一些则过分地集中在具体层面上。 
前者脱离软件工业的现状,对做具体工作的系统设计师和程序员的帮助十分有限。 
后者由于拘泥于细节,很难帮助读者发展出全局的观念和视野。比如能够理解数据抽象化、继承、封装和多态性是非常重要的,但是仅仅知道这些并不能使设计师设计出具有更好的复用性和易于维护的系统。 
通过前几年UML知识的普及,在读者群已经成熟的基础之上,如果能有一本贯穿理论和实践的教材性书籍,会对很多读者有益。 
第二,作者深深感到,市场上没有一本以适合中国人的思维方式,针对中国读者群讲解软件设计与设计模式的书籍,这对大批的中国读者来说,十分不公平。 
在西方的思想里面,分析一个结构直到把它分解为不可分割的单位,再加以数量化的研究和表述,是其典型的数理分析的套路。在西方科学文化中,不能够精确化和数量化的结构不受重视。 
而在中国传统的文化里面,不能够精确化和数量化并不是研究的障碍。中国的阴阳思想可以灵活地描述任何的自然物、人造物和人类思想。 
模式的理论有着深厚的中国道家思想渊源,设计模式实际上非常适合中国传统的思考方式。但是,很多中国的模式研究者们却似乎丢掉了自己的传统文化传承,像对待其他的舶来品一样,努力以西方的思维进行“重新”学习。 
西方的作者往往由于自己对中国道家文化的理解水平所限,而在讲解模式理论的时候,有意无意地忽略它的道家背景。当这样的书籍充斥中国的模式图书市场的时候,中国的读者就会更加迷失在这一误区里面。 
这使得作者感到一种沉重的责任感。 
第三,市场上关于软件设计模式的书籍中确实有一部分是针对Java语言的,但是这些书籍在有些方面做得还不够。由于计算机图书的生命周期较短,就造成出版周期也很短,这使得一般的作者不愿意进行费时费力的调查研究工作。比如对于设计模式在Java语言API中的运用,以及设计模式是如何运用到真实的项目中去的,就较少有书籍做详细的介绍。 
本书作者集中了很大的精力,对Java语言API中的设计模式做了详尽的综合、分析,并已从亲身参加的一些项目中抽取一些有代表性的问题,以专题讨论的方式介绍给读者。这可以使读者像亲临实地一样,体会设计模式是怎样应用到Java语言API中去的,以及是怎样在真实的软件项目中得到运用的。 
本书为谁而写 
Java语言是现今最普及的纯粹OOP的编程语言,使用Java语言编程的程序师的平均素质也相对比较高。这些程序师往往不满足于只是实现程序功能的要求,他们常常想要在代码结构、编程风格,乃至解决问题的思考方式上不断进取和自我完善。设计原则与设计模式就是在大量的实践中总结和理论化之后优选的代码结构、编程风格及解决问题的思考方式。对模式的了解和掌握,是Java程序员提高自身素质的一个很好的方向。 
这本书是Java程序师为Java程序员写的一本实用的设计原则和设计模式的自学教材和使用手册。 
如果你是一位Java程序员,你以此为荣,并且希望能够了解Java语言API背后的设计思想和设计理念,以便更加了解这一语言,那么这本书就是为你而写的。 
如果你是一位架构设计师,你以此为荣,并且希望能够进一步了解设计模式的起源,以及最知名的二十几个设计模式的用意、结构直到代码实现,以便能够改善自己的系统设计方案,那么这本书就是为你而写的。 
如果你是一位设计模式的爱好者,你以此为荣,并且希望能够知道设计模式背后的设计原则和背后的哲学思想,那么这本书就是为你而写的。 
本书的组织结构 
本书的内容可以大体划分成两大部分:第一部分讲述了模式理论的起源、面向对象的设计原则;第二部分内容则是对具体的设计模式的讲解。 
在第部分内容中,本书首先对模式理论的起源做了简单但是比较全面的介绍。本书特别对 Christopher Alexander的模式理论与中国道家思想的联系做了哲学上的分析。然后,本书将几个最重要的面向对象的设计原则带给读者,这些原则都会在设计模式中具体体现出来。 
在第二部分内容中,本书分别对最著名的几个创建模式、结构模式以及行为模式做了讲解。特别应当指出的是,本书的讲解有三大特点。 
第一个特点,本书的讲解结合了具体的系统设计实例,比如单例模式和多例模式的讲解就结合了两个出现在真实的华尔街金融网站系统中的设计实例。读者可以将这些设计细节经过完善后使用到自己的系统设计中去。 
第二个特点,本书的讲解结合了中国古代的神话传说、历史故事,内容贴切而生动活泼,可以给人以深刻的印象。 
第三个特点,本书的讲解给出了大量的附图和可运行的代码,使读者可以一方面阅读文字,一方面欣赏插图,另一方面又可以将代码运行在Java环境中运行,并通过结果研究其结构。 
怎样阅读本书 
如果读者把本书当做一本手册,那么读者可以从书的任何一个章节开始阅读。本书的大多数章节都是与其他的章节相对独立、自成一体的,在少数依赖于其他章节的情况下,都会提醒读者首先阅读哪些章节。 
如果将本书作为自学或教学的教材使用的话,则不一定要沿用模式的逻辑分类顺序。在下面就根据本书所包括的模式的难易、内在逻辑联系给出一个适合于自学成才和教学的顺序。 
简单工厂模式(创建模式):是最简单的模式,有助于引出工厂方法模式。 
工厂方法模式(创建模式):工厂方法模式在后面的许多模式都有应用,它在模式的讨论里屡见不鲜。了解工厂方法模式是了解所有模式的起点。 
策略模式(行为模式):策略模式在本书的讨论里频繁出现。早些理解策略模式有助十理解其他的模式。 
装饰模式(结构模式):装饰模式将是读者第一次接触到的模式的高雅之处。学会区别装饰模式和策略模式,也将是读者第一次学会区别看上去相似而实质不同的模式。 
在学习了装饰模式之后,感兴趣的读者可以进一步阅读装饰模式在 Java I/O中的应用,作为补充内容。 
合成模式(结构模式):合成模式在所有场合都有可能出现。合成模式经常与这代子模式、责任链模式、解释器模式、访问者模式联合使用,因此,好好掌握合成模式有助于理解后面的有关模式。 
迭代子模式(行为模式):学习迭代子模式可以加深读者对合成模式的理解。本书还提供了关于Java语言对迭代于模式的支持的专题分析,供感兴趣的读者阅读。 
模版方法模式(行为模式):学习模版方法模式可以加深读者对策略模式以及简单工厂模式、工厂方法模式的理解。在迭代子模式里,模版方法模式经常被用到。 
本书还提供了关于 Java Servlet构造中的设计模式,主要是模版方法模式的专题研究。 
抽象工厂模式(创建模式):抽象工厂模式是创建模式里的第三个模式。读者回到这个模式,可以复习一下工厂方法模式。 
在这一章后面的附录中,本书还给出了Java语言API中所使用的抽象工厂模式,供感兴趣的读者阅读。 
建造模式(创建模式):读者可以比较一下建造模式与抽象工厂模式的异同。 
单例模式(创建模式):单例模式经常用来实现抽象工厂模式。在单例模式的“相关模式”一节,对这一点有更详尽的描述。 
本书为单例模式提供了一个专题研究章节,用来加深读者对这个重要模式在具体系统设计中的意义的了解。 
多例模式(创建模式):多例模式是对单例模式的推广。在学习了单例模式之后,学习多例模式,可以对隐藏在二者背后的设计思想有更深入的了解。 
代理模式(结构模式):读者在这里有机会学习代理模式怎样控制外界对一个对象的弓佣。代理模式也把读者引导到下一个模式??适配器模式。 
本书利用了三章的篇幅,分别以代理模式的基本实现、智能引用代理和虚拟代理等具体种类详细地讲解了代理模式是怎样实现和应用到具体问题中去的。 
适配器模式(结构模式):读者可以学习和比较适配器模式与装饰模式、代理模式,以及后面的桥梁模式的异同。 
在学习了适配器模式之后,感兴趣的读者可以进一步阅读适配器模式在Java I/O中的应用,作为补充内容。 
桥梁模式(结构模式):现在读者可以比较桥梁模式与适配器模式及代理模式的异同。 
缺省适配模式(结构模式):缺省适配模式是适配器模式的一种特例。在学习了普通的适配器模式之后,再学习缺省适配模式可以更好地体会两者的关系和区别。 
调停者模式(行为模式):学习调停者模式可以作为学习和理解观察者模式,以及MVC(模型?视窗?控制,Model-View-Controller)设计的准备工作。 
观察者模式(行为模式):读者可以在学习中发现调停者模式是怎样在观察者模式里发挥作用,实现MVC这一经典设计的。 
读者如果使用过Java语言的事件处理机制的话,实际上就已经使用过观察者模式,只是没有察觉而已。本书除了使用一章的篇幅讲解观察者模式本身之外,还使用了三章的篇幅讲解观察者模式在几个著名的 Java API中的应用。 
MVC模式(架构模式):MVC模式包含合成模式、策略模式、观察者模式等,可以是这些设计模式的联合运用。 
责任链模式(行为模式):学习责任链模式,读者可以比较责任链模式和观察者模式。调停者模式是怎么处理调用的。 
在这一章后面,本书还提供了一个专题章节,介绍使用责任链模式在Java语言里对“击鼓传花”游戏进行模拟的内容。 
备忘录模式(行为模式):读者学习备忘录模式,并讨论此模式是怎样实现undo和redo的,并比较下面要介绍的命令模式的处理方法。 
命令模式(行为模式):命令模式可以有很多种使用方法,其中之一与备忘录模式有关,因此,在备忘录模式后面介绍。 
本书还对Swing库中命令的撤销做了介绍。 
原始模型模式(创建模式):这可能是创建模式中最复杂的一个。原始模型模式经常与命令模式一起使用,这就是为什么在命令模式后面介绍的原因。 
作为补充阅读,本书还对JavaBean的串行化和并行化做了介绍。 
状态模式(行为模式);读者可以通过学习状态模式来理解一个对象改变状态的另一种方式。 
本书利用状态模式对《聊斋志异》中的峻山道士的故事做了分析。 
访问者模式(行为模式):访问者模式经常与合成模式、迭代子模式一起联合使用。 
本书在介绍访问者模式之前,对双重分派的概念做了介绍。 
享元模式(结构模式):这是所有常见的模式中最复杂的一个模式。这一模式的应用在下面的解释器模式里介绍。 
解释器模式(行为模式):这是一个复杂的模式。学习这一模式最好是在学习了享元模式以及访问者模式之后。 
门面模式(结构模式):这是最后学习的一个模式。在学习了解释器模式之后,门面模式就比较好学。因为讲解门面模式的环境常常与讲解解释器模式的环境是一样的。 
以上仅供自学和教学者参考。 
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有