设计模式(DesignPattern)非常重要,我不需要多说。
看,程序员几乎每人一本四人组。
(ErichGamma、RichardHelm、RalphJolhnson、JohnVlissides)设计模式。
打个比喻:相信耶稣的人都要读圣经,相信0O的人都要读四人组的《设计模式》、这是O0的圣经。
更有意思的是,有些人不仅买了这本书的原著,还买了它的光盘版和中文翻译的收藏,可见这是一本多么重要的书。
我查询了这本书的销量,它的畅销程度令人惊叹。
很多人反映四人组的《设计模式》不容易读。
对于不容易读的书,有些已经意识到的人会写白话或者注释版来获得进步。
所以圣经和佛经都有注释版,用更白的方式解释真相,我觉得《HeadFirst设计模式》也是为了满足这样的需求而产生的,可以算是白话版,搞笑版.漫画版的《设计模式》。
与《设计模式》相比,《HeadFirst设计模式》更容易阅读,内容也相当有趣。
相信我,写这样一本书绝对比写一本严肃的书难多了,可见作者煞费苦心。
作者的用心带来了前所未有的成功。
《HeadFirst设计模式》得到了读者的积极回应,甚至《设计模式》的原创者ErichGamma也为《HeadFirst设计模式》写了一篇推荐文章,以“保证”。
本书大纲
本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。
前言先介绍这本书的用法:第1章到第11章陆线介绍的设计模式为Strategy.Observer、Decorator,Abstract Factory、
Factory Method、Singleton、Command、Adapter、Facade、TemplateMethod、Iterator,Composite,State,Proxy。
最后三章比较特别。第12章介绍如何将两个以上的设计模式结合起来成为新的设计模式(例如著名的MVC模式)。
作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词),第13章介绍如何进一步学习设计模式,
如何发觉新的设计模式等主题,至于第14章则很快地浏览尚未介绍的设计模式,
包括Bridge、Builder,Chain of Responsibility.Flyweight、Interpreter、Mediator,Mernento、Prototype,Visitor。
第1章还介绍了四个OO基本概念(抽象、封装、继承、多态),而第1章到第9幸也陆续介绍了九个OO原则(Principle)。
千万不要轻视这些O0原则,因为每个设计模式背后都包含了几个O0原则的概念。很多时候,在设计时有两难的情况,
这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法。
本书特色
强大的写作阵容。本书作者Eric Freeman和Elisabeth Freeman是作家、讲师和技术顾问。
Eric拥有耶鲁大学的计算机科学博士学位,Elisabath拥有耶鲁大学的计算机科学硕士学位。
Kathy Sierra (javaranch.com的创始人)和Bert Bates是畅销的HeadFirst系列书籍的创立者,也是Sun公司Java开发员认证考试的开发者。
本书的产品设计应用神经生物学、认知科学,以及学习理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘。
本书的编写方式采用引导式教学,不直接告诉你该怎么做,而是利用故事当作引子,带领读者思考并想办法解决问题。
解决问题的过程中又会产生一些新的问题,再继续思考、继续解决问题,这样可以加深体会。
作者以大量的生活化故事当背景,例如第I章是鸭子,第2章是气象站,第3章是咖啡店,书中搭配大量的插图(几乎每一页都有图),
所以阅读起来生动有趣,不会感觉到昏昏欲睡。作者还利用歪歪斜斜的手写字体,增加“现场感”。
精心设计许多爆笑的对白,让学习过程不会太枯燥。还有模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的一切。
本书大量采用UML的Class Diagram (Static Structure Diagram)。书中的例子程序虽然都是用Java编写,
但是本书所介绍的内容对于任何O0语言的用户都适用,包括C++和C4。每一章都有数目不等的测验题。每章最后有一页要点整理,这也是精华所在,我都是利用这一页做复习。
我认为,这本书的作者全都是“变态”!唔,我是说,好的那种“变态”。毕竟要把这么枯燥的主题写得这么有趣而学习效果又好,不是“变态”的作者还真是做不到呢!
下面是《HeadFirst设计模式》教材目录部分展示:
1欢迎来到设计模式世界:设计模式入门模拟鸭子应用
Joe想到继承利用接口如何?
软件开发的不变真理
分开变化和不变部分
设计鸭子的行为
测试鸭子的代码
动态地设置行为
封装行为的大局观
“有一个"比"是一个"更好
策略模式
共享模式词汇的威力
我如何使用设计模式?
设计箱内的工具
习题解答
2让你的对象知悉现况
气象观测站
认识观察者模式
出版者+订阅者=观罕者模式
五分钟短剧:观察主题
定义观察者模式
松耦合的威力
设计气象站
实现气象站
使用Java内建的观察者模式
java.util.Observable的黑暗面
设计箱内的工具
3装饰对象
欢迎来到星巴兹咖啡
开放一关闭原则
认识装饰者模式
以装饰者构造饮料订单
定义装f者模式
装饰饮料
写下星巴兹的代码
真实世界的装饰者:Java LO
编写自己的Java L/O装饰者
设计箱内的工具
习题解答
4.烘烤00的精华
当看到“new”,就会想到“具体“
对象村比萨
封装创建对象的代码
建立一个简单比萨工厂
定义简单工厂
给比萨店使用的框架
允许子类做决定
让我们开一家比萨店吧
声明一个工厂方法
认识工厂方法模式
平行的类层级
定义工厂方法模式
一个很依赖的比萨店
看看对象依赖
依赖倒置原则
再回到比萨店
原料家族
建造原料工
厂看看抽象工厂
幕后花絮
定义抽象工厂模式
比较工厂方法和抽象工厂
设计箱内的工具
习题解答
教材内容部分展示:
| HeadFirst设计模式 百度网盘 课程大小:0.00字节 |
提取码:**** (购买后可见) |
下载 |