漫谈设计模式:从面向对象开始-刘济华 - (EPUB全文下载)
文件大小:4.25 mb。
文件格式:epub 格式。
书籍内容:
内容简介
模式引入计算机科学领域已经有20余年了,最初人们侧重于面向对象的设计,而现在已经应用于计算机领域的各个方面,它们对计算机产生了深远影响。
若想一本书涵盖所有模式,那么这本书将会非常庞大,以前的设计模式书籍专注于介绍设计模式,虽然读者了解了这些设计模式,但是仍然不知道如何合理地使用它们,往往导致读者为了使用设计模式而设计,而不是从问题出发,使用设计模式优雅地解决这些问题。
本书主要从最基本的设计模式入手,并结合一些J2EE开发过程经常遇见的技术和概念,你将全面理解这10多个设计模式,并在开发过程中,让你真正体会和思考面向对象编程的思想,也只有掌握这些,你才会能成为一位真正的设计专家。
本书不是一本面向对象和Java语言的入门书籍,阅读对象主要是从事Java语言的软件开发人员但不限于Java语言的开发人员。
前言
OOP(Object-Oriented Programming)早已不是一个新概念了,OOP在最近的20多年里发展得异常迅猛,特别是近10年里,OOP相关技术层出不穷,当大家热衷于使用这些新技术时,却不会使用OOP进行软件设计,进而发现新的技术并没有为大家带来任何好处。
很多老的开发人员从过程式开发转向面向对象的开发过程中,由于他们习惯过程式思维的开发,尽管他们使用的是OOP语言,但这并没有给他们带来太多帮助,反而使他们更加厌倦OOP软件开发,认为OOP没有想象中的那么便捷,很多地方没有使用过程式开发来的便捷,于是他们又退化为过程式的开发。
随着越来越多的新开发人员也加入了OOP的潮流,他们追求新的技术,学会使用各种工具和框架,却无暇顾及OOP进行开发设计的核心思想。虽然使用了新技术,代码质量并未提高,反而事与愿违。
当他们沉浸在新技术的使用和业务逻辑的编码实现时,未料到这些看似巧妙的设计导致了代码不易阅读、不易维护、不易扩展、不易测试、不易调试……。大家忙忙碌碌,但是项目进度缓慢,最终往往以失败而告终。归根结底,尽管使用了OOP语言开发其他一些新技术,但对OOP只限于粗浅的了解和相关语言语法使用上的理解,并不会真正使用OOP进行开发设计,以致使用时颠三倒四,未能真正享受到OOP和这些新技术带来的好处,有些新技术非但没有提供帮助,反而成为某些软件失败的罪魁祸首。那么,如何使用OOP进行开发设计呢?
OOP开发新手由于没有这方面的设计经验,在遇到问题时,往往诉求于逻辑的实现,在维护性和扩展性没有考虑或者少有考虑,导致代码乱七八糟,七零八散,随着开发的深入,最终在用户各种各样的需求面前无以应对。而有经验的OOP开发人员会灵活使用各种模式做出优秀的设计,编写的代码健壮性高,易于阅读、维护和扩展,可伸缩性强,开发成本也十分低廉。如果重用他们的开发经验,那么你就不需要在相同问题上重蹈覆辙,也能设计出优秀的软件。
市面上介绍设计模式的书籍非常多,它们一般仅仅给出GoF的23个最基本的设计模式的定义和一些简单的示例,大多数读者充其量只能了解它们,在使用上大打折扣。
本书精心筛选出了一些我们经常在开发设计过程中使用到的模式,使用OOP的眼光分析它们,适时结合一些流行J2EE框架和技术,并从横向和纵向两方面扩展读者的思维,使读者对这些常用的模式有一个全面深刻的认识,也希望能够为正在使用这些框架和技术的读者带来帮助。
本书内容
作为一本技术书籍,严谨是必须的,作者参考了大量资料和文献,并在相关重要地方注明出处,做到有理有据,希望能够从专业角度和用户探讨设计模式与面向对象的设计。
严谨和可读性是没有冲突的,在开发人员之间交流,最好的方式莫过于优质代码了,本书给出了大量代码片段,在一些重要的地方使用黑体、加粗或斜体的字体,并做了详细解释,希望能够抛砖引玉,帮助读者制作出更加出色的代码。另外,本书还添加了很多图片,希望图文并茂,使这本书更加容易阅读。
本书主要分为五篇。
第一篇:模式介绍(第1章~第2章)
第1章讲述了面向对象与模式之间的关系和模式的简史;在第2章介绍了第一个简单的模式,模板方法模式,在这章,我们分析了代码重复所导致的“腐臭气味”,重复的代码是代码“臭味”中最糟糕的,在以后章节将会介绍各种模式来避免代码重复。
第二篇:创建对象(第3章~第6章)
使用OOP语言的语法创建一个对象并不复杂,例如在Java语言中使用new即可。但是随着系统变得越来越复杂,使用new直接创建对象会给系统造成很高的耦合度。创建模式可以封装对象实例化的过程,把使用对象的功能和实例化对象解耦开来,从而降低了耦合度。
在本篇最后,讨论了现在最流行的两个概念,IoC和DI,这二者是目前流行的轻量级容器的基础。
第三篇:构建复杂结构(第7章~第11章)
有时候,创建新的、更强功能的类并不需要重新编写代码,装配已有的类和对象反而更加快捷,也更加灵活。本篇讨论了一些常用的组装对象的模式,你将发现,构建大的、功能更强的对象,不是只有多层继承才能实现,组合往往是最有效的方式,本篇将会看到如何使用继承和组合创建复杂的大结构。
第四篇:行为模式(第12章~第14章)
我们在程序中经常需要封装一些对象的行为或者对象之间的通信,本篇将会讲述三个常用的行为模式:策略模式,状态模式和观察者模式,加上第2章介绍的模板方法模式,本书将一共讲述这四个常用的行为模式。
第五篇:终点还是起点(第15章~第17章)
其实,在很早之前,就有人对面向对象思想的局限性进行了研究,提出了一种新的编程方法AOP,第15章将会介绍AOP的概念及其实现技术。
尽管在前面章节,我们学习了一些常用的模式和一些OO设计的原则,并且了解了AOP方面的一些知识,但这些并不能表示我们已具备解决复杂领域问题的能力,在第16章我们讨论了在实际开发过程中如何使用面向对象进行开发设计以及应该注意的一些问题。
在本篇末尾,第17章,将回顾本书的内容,重新认识OOP设计规范。
最后两章虽然没有直接讲解模式,但却是本书极为重要的部分,开始带领大家思考如何进行软件设计。
附录
本书附录A介绍了一些作者非常喜欢 ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 漫谈设计模式:从面向对象开始-刘济华 - (EPUB全文下载)