
作者:程杰著
ISBN:10位[7302162069]13位[9787302162063]
出版社:清华大学出版社
出版日期:2007-12-1
定价:¥45.00元
内容提要本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著——DesignPatterns:ElementsofReusableObject-OrientedSoftware,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者ErichGamma、RichardHelm、RalphJohnson,以及JohnVlissides,这四人常被称为GangofFour,即四人组,简称GoF)总结的23个设计模式。本书共分为29章。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。本书的特色是通过小菜与大鸟的趣味问答,在讲解程序的不断重构和演变过程中,把设计模式的学习门槛降低,让初学者可以更加容易地理解——为什么这样设计才是好的?是怎样想到这样设计的?以达到不但授之以“鱼”,还授之以“渔”的目的。引导读者体会设计演变过程中蕴藏的大智慧。
本书适合编程初学者或希望在面向对象编程上有所提高的开发人员阅读。
编辑推荐感受设计演变过程中所蕴含的大智慧,体会乐与怒的程序人生中值得回味的一幕幕。
设计模式的趣味解读,面向对象的深入剖析。在诙谐与温馨中做一次面向对象编程思维的体操。
本书是准备攀登面向对象编程高峰朋友们的引路人和提携者;本书是学习、体会和领悟了众多大师智慧结晶后的图书作品;本书是你深入理解和感受GoF的《设计模式》及其它大师作品的必备书籍;本书授之以“鱼”,更授之以“渔”。
作者简介程杰,高级软件工程师&高级培训讲师。从事软件开发一线工作近八年时间。曾在申银万国证券公司、上海杨浦区政府、朝华集团下属网游公司、香港晨兴集团等多行业项目开发中担任主程及项目负责人,有丰富的大中型软件开发经验,以及多年的软件设计与项目管理经验。曾任加拿大慧桥培训中心金牌讲师,主持.NET高级软件工程师的培训工作;早年从事高中数学教学工作,曾在江苏常州重点高中任教时获得过市教学一等奖,这些教学和培训经历让作者对如何以易懂的语言讲解艰深的技术知识有了深刻的理解。
本书作者集多年实际项目开发经验和丰富教学培训经验于一身,准确把握住编程初学者的视角,以浅显幽默的语言向读者诠释了面向对象设计模式的精髓。
目录第1章代码无错就是优?——简单工厂模式
1.1面试受挫
1.2初学者代码毛病
1.3代码规范
1.4面向对象编程
1.5活字印刷,面向对象
1.6面向对象的好处
1.7复制vs.复用
1.8业务的封装
1.9紧耦合vs.松耦合
1.10简单工厂模式
1.11UML类图
第2章商场促销——策略模式
2.1商场收银软件
2.2增加打折
2.3简单工厂实现
2.4策略模式
2.5策略模式实现
2.6策略与简单工厂结合
2.7策略模式解析
第3章拍摄UFO——单一职责原则
3.1新手机
3.2拍摄
3.3没用的东西
3.4单一职责原则
3.5方块游戏的设计
3.6手机职责过多吗?
第4章考研求职两不误——开放-封闭原则
4.1考研失败
4.2开放-封闭原则
4.3何时应对变化
4.4两手准备,并全力以赴
第5章会修电脑不会修收音机?——依赖倒转原则
5.1MM请求修电脑
5.2电话遥控修电脑
5.3依赖倒转原则
5.4里氏代换原则
5.5修收音机
第6章穿什么有这么重要?——装饰模式
6.1穿什么有这么重要?
6.2小菜扮靓第一版
6.3小菜扮靓第二版
6.4装饰模式
6.5小菜扮靓第三版
6.6装饰模式总结
第7章为别人做嫁衣——代理模式
7.1为别人做嫁衣!
7.2没有代理的代码
7.3只有代理的代码
7.4符合实际的代码
7.5代理模式
7.6代理模式应用
7.7秀才让小六代其求婚
第8章雷锋依然在人间——工厂方法模式
8.1再现活雷锋
8.2简单工厂模式实现
8.3工厂方法模式实现
8.4简单工厂vs.工厂方法
8.5雷锋工厂
第9章简历复印——原型模式
9.1夸张的简历
9.2简历代码初步实现
9.3原型模式
9.4简历的原型实现
9.5浅复制与深复制
9.6简历的深复制实现
9.7复制简历vs.手写求职信
第10章考题抄错会做也白搭——模板方法模式
10.1选择题不会做,蒙呗!
10.2重复=易错+难改
10.3提炼代码
10.4模板方法模式
10.5模板方法模式特点
10.6主观题,看你怎么蒙
第11章无熟人难办事?——迪米特法则
11.1第一天上班
11.2无熟人难办事
11.3迪米特法则
第12章牛市股票还会亏钱?——外观模式
12.1牛市股票还会亏钱?
12.2股民炒股代码
12.3投资基金代码
12.4外观模式
12.5何时使用外观模式
第13章好菜每回味不同——建造者模式
13.1炒面没放盐
13.2建造小人一
13.3建造小人二
13.4建造者模式
13.5建造者模式解析
13.6建造者模式基本代码
第14章老板回来,我不知道——观察者模式
14.1老板回来?我不知道!
14.2双向耦合的代码
14.3解耦实践一
14.4解耦实践二
14.5观察者模式
14.6观察者模式特点
14.7观察者模式的不足
14.8事件委托实现
14.9事件委托说明
14.10石守吉失手机后的委托
第15章就不能不换DB吗?——抽象工厂模式
15.1就不能不换DB吗?
15.2最基本的数据访问程序
15.3用了工厂方法模式的数据访问程序
15.4用了抽象工厂模式的数据访问程序
15.5抽象工厂模式
15.6抽象工厂模式的优点与缺点
15.7用简单工厂来改进抽象工厂
15.8用反射+抽象工厂的数据访问程序
15.9用反射+配置文件实现数据访问程序
15.10无痴迷,不成功
第16章无尽加班何时休——状态模式
16.1加班,又是加班!
16.2工作状态-函数版
16.3工作状态-分类版
16.4方法过长是坏味道
16.5状态模式
16.6状态模式好处与用处
16.7工作状态-状态模式版
第17章在NBA我需要翻译——适配器模式
17.1在NBA我需要翻译!
17.2适配器模式
17.3何时使用适配器模式
17.4篮球翻译适配器
17.5适配器模式的.NET应用
17.6扁鹊的医术
第18章如果再回到从前——备忘录模式
18.1如果再给我一次机会……
18.2游戏存进度
18.3备忘录模式
18.4备忘录模式基本代码
18.5游戏进度备忘
第19章分公司=一部门——组合模式
19.1分公司不就是一部门吗?
19.2组合模式
19.3透明方式与安全方式
19.4何时使用组合模式
19.5公司管理系统
19.6组合模式好处
第20章想走?可以!先买票——迭代器模式
20.1乘车买票,不管你是谁!
20.2迭代器模式
20.3迭代器实现
20.4.NET的迭代器实现
20.5迭代高手
第21章有些类也需计划生育——单例模式
21.1类也需要计划生育
21.2判断对象是否是null
21.3生还是不生是自己的责任
21.4单例模式
21.5多线程时的单例
21.6双重锁定
21.7静态初始化
第22章手机软件何时统一——桥接模式
22.1凭什么你的游戏我不能玩
22.2紧耦合的程序演化
22.3合成/聚合复用原则
22.4松耦合的程序
22.5桥接模式
22.6桥接模式基本代码
22.7我要开发“好”游戏
第23章烤羊肉串引来的思考——命令模式
23.1吃烤羊肉串!
23.2烧烤摊vs.烧烤店
23.3紧耦合设计
23.4松耦合设计
23.5松耦合后
23.6命令模式
23.7命令模式作用
第24章加薪非要老总批?——职责链模式
24.1老板,我要加薪!
24.2加薪代码初步
24.3职责链模式
24.4职责链的好处
24.5加薪代码重构
24.6加薪成功
第25章世界需要和平——中介者模式
25.1世界需要和平!
25.2中介者模式
25.3安理会做中介
25.4中介者模式优缺点
第26章项目多也别傻做——享元模式
26.1项目多也别傻做!
26.2享元模式
26.3网站共享代码
26.4内部状态与外部状态
26.5享元模式应用
第27章其实你不懂老板的心——解释器模式
27.1其实你不懂老板的心
27.2解释器模式
27.3解释器模式好处
27.4音乐解释器
27.5音乐解释器实现
27.6料事如神
第28章男人和女人——访问者模式
28.1男人和女人!
28.2最简单的编程实现
28.3简单的面向对象实现
28.4用了模式的实现
28.5访问者模式
28.6访问者模式基本代码
28.7比上不足,比下有余
第29章OOTV杯超级模式大赛——模式总结
29.1演讲任务
29.2报名参赛
29.3超模大赛开幕式
29.4创建型模式比赛
29.5结构型模式比赛
29.6行为型模式一组比赛
29.7行为型模式二组比赛
29.8决赛
29.9梦醒时分
29.10没有结束的结尾
附录A培训实习生——面向对象基础
A.1培训实习生
A.2类与实例
A.3构造方法
A.4方法重载
A.5属性与修饰符
A.6封装
A.7继承
A.8多态
A.9重构
A.10抽象类
A.11接口
A.12集合
A.13泛型
A.14委托与事件
A.15客套
附录B参考文献