软件秘笈
2011-11
电子工业出版社
郑阿奇 编
628
无
这本《软件秘笈——设计模式那点事(附光盘)》由郑阿奇主编,在第1
章软件设计模式概述后,从第2章到第24章诠释23个软件设计模式。每一种都从一个生活故事开始,然后是模式定义、模式分析、模式实现、设计原则和使用场合。模式实现通过Eclipse中的Java
工程展开,采用软件编程诠释设计模式故事中的情节和操作,非常有趣。在这个基础上,总结该软件设计模式的设计原则,最后提出使用场合。第25章对各种软件设计模式进行系统总结,第26章是各种软件设计模式的综合应用。
《软件秘笈——设计模式那点事(附光盘)》适合软件开发专业的学生、软件开发人员学习参考,也可作为高等学校有关课程的教材和参考书。
1 设计模式概述
1.1 计算机软件的发展现状
1.2 引入设计模式的必要性
1.3 软件设计遵循的基本原则
1.3.1 高内聚、低耦合
1.3.2 面向抽象编程
1.3.3 多用组合少用继承
1.3.4 "开-闭"原则
1.4 设计模式概述
1.4.1 什么是设计模式
1.4.2 为什么需要设计模式
1.4.3 如何正确应用设计模式
1.5 设计模式的分类
1.5.1 创建型模式
1.5.2 结构型模式
1.5.3 行为型模式
1.6 学会归纳和总结
第一部分 创建型模式
2 曹操献刀:工厂方法模式
2.1 三国故事之曹操献刀
2.2 模式定义
2.3 故事中的模式分析
2.3.1 故事中的角色
2.3.2 抽象化分析方法
2.3.3 工厂方法模式的静态建模
2.4 故事的工厂方法模式实现
2.4.1 建立产品
2.4.2 建立工厂
2.4.3 故事情节的历史重现
2.4.4 用八星宝刀来考验模式
2.5 设计原则
2.6 使用场合
2.7 本章要点
3 肯德基:抽象工厂模式
3.1 发生在肯德基的故事
3.2 模式定义
3.3 故事中的模式分析
3.3.1 故事中的角色
3.3.2 抽象化分析
3.3.3 抽象工厂模式的静态建模
3.4 故事的抽象工厂模式实现
3.4.1 抽象食物的建立
3.4.2 建立不同食物的抽象基类
3.4.3 创建具体的食物
3.4.4 建立工厂
3.4.5 创建客户类
3.4.6 故事情节的展现
3.5 设计原则
3.6 使用场合
3.7 本章要点
4 手机套餐:建造者模式
4.1 手机套餐
4.2 模式定义
4.3 故事中的模式分析
4.3.1 角色分析
4.3.2 建造者模式的静态建模
4.4 模式实现
4.4.1 创建产品--手机套餐
4.4.2 建立抽象建造者
4.4.3 建立具体建造者
4.4.4 创建指导者
4.4.5 让客户订购手机套餐
4.4.6 如何简化建造者实现
4.5 设计原则
4.6 使用场合
4.7 本章要点
5 大学生初入社会:原型模式
5.1 大学生初入社会
5.2 模式定义
5.3 大学生故事的模式分析
5.3.1 故事情节分析
5.3.2 原型模式的静态建模
5.4 大学生故事的原型模式实现
5.4.1 原型的建立
5.4.2 创建生成原型对象的工厂
5.4.3 大学生初入社会的生活展现
5.5 设计原则
5.6 使用场合
5.7 本章要点
6 课堂上互动:单例模式
6.1 课堂上发生的故事
6.2 模式定义
6.3 模式分析
6.4 模式实现
6.4.1 实现一:使用同步线程安全创建单例对象
6.4.2 实现二:创建一个类全局对象实例作为单例对象
6.4.3 提高:多例模式实现
6.5 设计原则
6.6 使用场合
6.7 本章要点
第二部分 结构型模式
7 电源转换:适配器模式
7.1 生活中的适配器
7.2 模式定义
7.3 模式分析
7.3.1 适配器中的角色
7.3.2 静态建模
7.4 模式实现
7.4.1 抽象电源建立
7.4.2 创建220V电源
7.4.3 创建12V电源
7.4.4 测试220V电源和12V电源
7.4.5 对象适配器实现
7.4.6 类适配器模式实现
7.5 设计原则
7.6 使用场合
7.7 本章要点
8 开关与电灯:桥接模式
8.1 开关与电灯
8.2 模式定义
8.3 一般化分析
8.4 一般化实现
8.4.1 建立抽象开关
8.4.2 电灯实现
8.4.3 客户端测试
8.4.4 对于扩展功能的思考
8.5 桥接模式分析方法
8.6 开关与电灯的桥接模式实现
8.6.1 创建电灯接口
8.6.2 创建开关
8.6.3 电灯实现
8.6.4 客户端测试
8.7 设计原则
8.8 使用场合
8.9 本章要点
9 公司层级结构:组合模式
9.1 公司层级结构
9.2 模式定义
9.3 一般化分析
9.4 一般化实现
9.4.1 创建普通员工
9.4.2 创建管理者
9.4.3 客户端测试
9.4.4 系统结构的思考
9.5 组合模式分析方法
9.6 公司结构的组合模式实现
9.6.1 建立员工抽象
9.6.2 创建管理者
9.6.3 创建普通员工
9.6.4 客户端测试
9.7 设计原则
9.8 使用场合
9.9 本章要点
10 染色馒头:装饰者模式
10.1 染色馒头事件
10.2 模式定义
10.3 一般化分析
10.4 一般化实现
10.4.1 创建馒头接口
10.4.2 正常馒头
10.4.3 染色馒头
10.4.4 甜馒头
10.4.5 如何生产甜玉米馒头
10.5 装饰者模式分析方法
10.6 染色馒头的装饰者模式实现
10.6.1 创建抽象装饰者
10.6.2 创建装饰者
10.6.3 生产甜玉米馒头
10.7 设计原则
10.8 使用场合
10.9 本章要点
11 美食天下:外观模式
11.1 美食天下
11.2 模式定义
11.3 一般化分析
11.4 一般化实现
11.4.1 创建糖醋排骨接口
11.4.2 糖醋排骨实现
11.4.3 客户端测试
11.5 外观模式分析方法
11.5.1 让厨师为我们做菜
11.5.2 外观模式的静态建模
11.6 糖醋排骨的外观模式实现
11.6.1 建立外观门面
11.6.2 客户端测试
11.7 设计原则
11.8 使用场合
11.9 本章要点
12 五子棋游戏:享元模式
12.1 五子棋游戏
12.2 模式定义
12.3 模式分析
12.3.1 五子棋游戏分析
12.3.2 静态建模
12.4 模式实现
12.4.1 创建抽象棋子
12.4.2 棋子实现
12.4.3 创建棋子工厂
12.4.4 客户端测试
12.4.5 如何实现棋子的位置
12.4.6 测试棋子的外蕴状态
12.5 设计原则
12.6 使用场合
12.7 本章要点
13 红酒经销:代理模式
13.1 红酒代理商
13.2 模式定义
13.3 模式分析
13.3.1 消费者购买行为分析
13.3.2 静态建模
13.4 模式实现
13.4.1 创建红酒生产厂商
13.4.2 到红酒工厂购买红酒
13.4.3 创建红酒代理商
13.4.4 到红酒代理商处购买红酒
13.5 设计原则
13.6 使用场合
13.7 本章要点
第三部分 行为型模式
14 学生生病了:责任链模式
14.1 学生生病了
14.2 模式定义
14.3 普通抽象化分析
14.3.1 学生请假流程分析
14.3.2 抽象化静态建模
14.4 普通抽象化实现
14.4.1 学生请假实现
14.4.2 创建抽象请假消息处理者
14.4.3 请假处理者具体实现
14.4.4 客户端测试
14.4.5 如何面对变化
14.4.6 使用外观封装变化部分
14.5 责任链模式分析方法
14.5.1 如何实现消息传递
14.5.2 责任链模式静态建模
14.6 请假流程的责任链模式实现
14.6.1 抽象化修改
14.6.2 完善具体消息处理者
14.6.3 在外观中设置消息处理责任链
14.6.4 客户端测试
14.7 设计原则
14.8 使用场合
14.9 本章要点
15 邮局:命令模式
15.1 生活中的邮局
15.2 模式定义
15.3 模式分析
15.3.1 邮局例子分析
15.3.2 静态建模
15.4 模式实现
15.4.1 创建消息接收者
15.4.2 创建中间角色邮局
15.4.3 创建消息发送者
15.4.4 让邮局开始工作
15.4.5 优化我们的设计
15.5 设计原则
15.6 使用场合
15.7 本章要点
16 创建自己的语言:解释器模式
16.1 创建自己的语言解释器
16.2 模式定义
16.3 模式分析
16.3.1 "myida"语言分析
16.3.2 "myida"语言解释器原理
16.4 模式实现
16.4.1 创建上下文环境
16.4.2 创建解析表达式
16.4.3 让"myida"语言解释器开始工作
16.5 设计原则
16.6 使用场合
16.7 本章要点
17 循环遍历:迭代器模式
17.1 让迭代器代替for循环
17.2 模式定义
17.3 模式分析
17.3.1 如何遍历集合对象
17.3.2 迭代器模式静态建模
17.4 模式实现
17.4.1 人员信息实现
17.4.2 人员集合实现
17.4.3 迭代器实现
17.4.4 让迭代器遍历集合对象
17.4.5 迭代器如何面对变化
17.4.6 客户端发生哪些变化
17.5 设计原则
17.6 使用场合
17.7 本章要点
18 多人聊天室:中介者模式
18.1 多人聊天室
18.2 模式定义
18.3 模式分析
18.3.1 多人聊天室结构分析
18.3.2 静态建模
18.4 模式实现
18.4.1 创建用户接口
18.4.2 创建中介者
18.4.3 创建用户
18.4.4 运行多人聊天室
18.5 设计原则
18.6 使用场合
18.7 本章要点
19 过关类游戏:备忘录模式
19.1 过关类游戏
19.2 模式定义
19.3 模式分析
19.3.1 备忘录模式特点
19.3.2 备忘录模式静态建模
19.4 模式实现
19.4.1 白箱备忘录模式实现
19.4.2 黑箱备忘录模式实现
19.5 设计原则
19.6 使用场合
19.7 本章要点
20 高温预警:观察者模式
20.1 高温预警系统
20.2 模式定义
20.3 模式分析
20.3.1 高温预警过程分析
20.3.2 静态建模
20.4 模式实现
20.4.1 创建抽象角色
20.4.2 具体主题实现
20.4.3 具体观察者实现
20.4.4 让系统开始运行
20.5 设计原则
20.6 使用场合
20.7 本章要点
21 文档编辑模式切换:状态模式
21.1 文档编辑器中的模式切换
21.2 模式定义
21.3 模式分析
21.4 模式实现
21.4.1 创建空白的上下文环境
21.4.2 创建状态接口
21.4.3 完善上下文内容
21.4.4 创建具体状态
21.4.5 客户端测试
21.5 设计原则
21.6 使用场合
21.7 本章要点
22 商场促销:策略模式
22.1 商场促销商品
22.2 模式定义
22.3 模式分析
22.3.1 商品促销中的策略分析
22.3.2 策略模式静态建模
22.4 模式实现
22.4.1 创建策略接口
22.4.2 创建具体策略
22.4.3 创建上下文环境
22.4.4 消费者购物消费
22.4.5 策略模式与条件判断的比较
22.5 设计原则
22.6 使用场合
22.7 本章要点
23 生活行为:模板方法模式
23.1 每日的生活行为
23.2 模式定义
23.3 模式分析
23.3.1 生活行为分析
23.3.2 静态建模
23.4 模式实现
23.4.1 建立算法骨架
23.4.2 创建具体实现
23.4.3 客户端测试
23.5 设计原则
23.6 使用场合
23.7 本章要点
24 公司层级结构:访问者模式
24.1 公司层级结构
24.2 模式定义
24.3 模式分析
24.3.1 组合模式回顾
24.3.2 访问者模式分析
24.3.3 访问者模式静态建模
24.4 模式实现
24.4.1 员工实现
24.4.2 访问者实现
24.4.3 让员工接收访问者
24.4.4 客户端测试
24.4.5 扩展的思考
24.5 设计原则
24.6 使用场合
24.7 本章要点
25 设计模式总结
25.1 为什么学习设计模式
25.1.1 让工作变得轻松
25.1.2 让程序变得优雅
25.1.3 要学会设计原则
25.2 设计模式六大原则
25.2.1 "开-闭"原则(OCP)
25.2.2 单一职责原则(SRP)
25.2.3 依赖倒置原则(DIP)
25.2.4 接口隔离原则(ISP)
25.2.5 里氏替换原则(LSP)
25.2.6 迪米特法则(LoD)
25.3 勤于思考,善于总结
25.3.1 专心、用心、信心
25.3.2 做一个有思想的人
25.4 实践出真知
26 MVC设计实践
26.1 让你的思维活跃起来
26.2 如何设计MVC架构
26.3 第一个MVC框架--Joker MVC
26.3.1 环境介绍
26.3.2 MVC起航
26.3.3 Joker MVC架构分析
26.3.4 Joker MVC架构实现
26.3.5 发布joker-1.0部署测试
版权页:插图:就国内的计算机软件状况来看,软件行业已经得到蓬勃发展,取得了令人瞩目的成绩,政府部门也是大力扶持本地软件企业,为软件行业的发展提供更多优惠政策,让软件企业获得良好的发展空间。自从计算机软件技术兴起以来,从一两个人的团队发展成为拥有几千人的知名企业在国内并不少见,国内软件行业的兴盛是显而易见的。计算机软件作为一门学科,从其诞生到现在不过短短的半个世纪,随着技术的不断创新,已经慢慢融入我们的日常生活中。如今移动互联网的发展更是为计算机软件行业带来发展的又一次绝佳机遇,在其他很多高科技领域中,也都要依附于计算机软件技术的支撑。因此,计算机软件行业的前景在众多行业中还是比较有优势的,无论现在还是将来。然而,随着计算机软件的不断发展,更多的资源都在向其靠拢,泡沫也势必会逐渐形成,计算机软件的泛滥也应当引起我们的注意。如何不被社会所淘汰,让自己或者企业处于不败的地位?这就需要掌握独门绝技,打好稳固的根基。1.2引入设计模式的必要性“物以稀为贵”,这是一句至理名言。越是稀有的东西,它的价值就会越高;同样的东西变得多了,其自身价值就会贬值。在计算机软件行业长足发展的今天,越来越多的软件企业出现在我们面前,软件行业的从业人员也变得越来越复杂,有的是计算机专业,也有的是转行过来的。计算机软件技术再也不是那种高深莫测的未知领域,已经开始向大众化普及,各种从业人员的专业素养良莠不齐,计算机软件的质量更是难以得到保证。因此,引入软件设计模式将成为企业或者个人可持续发展的必然选择。只有专业,才能在这个领域做得最好,为社会、企业和个人带来更多的价值。读本书的人一般是已经从事了一定软件开发工作的人员,设计模式就是当你在实践当中遇到问题但又不知如何解决时想得到的解决方式。
《软件秘笈:设计模式那点事》:23个有趣的故事、23个软件模式、·有所思·有所想·有所悟、·打下理论根基·应用得心应手。
无
对设计模式进行了浅显易懂的讲解,不像枯燥的理论,可以把不了解的模式,先引入门,是本可以引领你了解计设模式的入门级教程!值的一看。
不错,很实用,值得看
软件秘笈:设计模式那点事(附CD光盘1张)很不错的一本书~~
对比很多本设计模式的书,大都讲理论的多,或都说明不够,还是这一本最通俗易懂,每个模式都有例子。
书的质量非常不好感觉二手书,非常的旧,但是内容还是非常值得毕业一年的程序员看的,并且很有高度还引用示例意境,内容值得一看。
里面的例子确实通俗易懂,很赞啊
虽然我按要求在规定时间之前下单并付款希望在当天收到商品,但是还是第二天才送到。虽然我不一定需要随附的CD,但是包装里的CD已经断裂无法使用了。不过书是全新的。
就是要找类似的这种图书,例子很生动,语言通俗易懂,适合有一定编程基础,想进一步提高自己的编程水平,想了解设计模式的朋友,这本书里的所有代码都是用JAVA语言编写的!购买时大家注意!
书写的很不错,对于想进一步提高编程技术的人来说是非常有用的,书虽然是用JAVA写的,但是其思想对于所有面向对象编程语言都适用。
书里面有10多页是坏的,嫌麻烦没退没换(纸张大,我用剪子一顿剪)
内容很充实,图文并茂,理论和实践都有。作者讲解的通俗易懂、很容易理解,真是受益匪浅!最好的一点就是书中每个模式具体分析了使用场合,讲解了JDK中设计模式应用情况,看完这本书相信对JDK也加深理解了不少,呵呵!值得一看!
故事比较容易理解
书不错 值得买
刚收到货,内容还不清楚
内容没细看,粗略地观察排版