资源名称:《软件秘笈──设计模式那点事》PDF 下载

内容简介  · · · · · ·

这本《软件秘笈——设计模式那点事(附光盘)》由郑阿奇主编,在第1章软件设计模式概述后,从第2章到第24章诠释23个软件设计模式。每一种都从一个生活故事开始,然后是模式定义、模式分析、模式实现、设计原则和使用场合。模式实现通过Eclipse中的Java工程展开,采用软件编程诠释设计模式故事中的情节和操作,非常有趣。在这个基础上,总结该软件设计模式的设计原则,最后提出使用场合。第25章对各种软件设计模式进行系统总结,第26章是各种软件设计模式的综合应用。《软件秘笈——设计模式那点事(附光盘)》适合软件开发专业的学生、软件开发人员学习参考,也可作为高等学校有关课程的教材和参考书。

资源截图:

1.png

资源目录:

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部署测试 

 

资源下载资源下载价格6立即支付    升级VIP后免费
本站严重申明:本站创建于香港,主要分享电脑技术以及服务于精简系统爱好者,本站遵守香港的法律法规,并且受到香港法律的保护;本站收集的资源仅供内部学习研究软件设计思想和原理使用,学习研究后请自觉删除,请勿传播,因未及时删除所造成的任何后果责任自负; 如果用于其他用途,请购买正版支持作者,谢谢!若您认为本站发布的内容若侵犯到您的权益,请联系站长QQ:304906607 进行删除处理。 本站资源大多存储在云盘,如发现链接失效,请联系我们,我们会第一时间更新。如要升级VIP会员,请联系QQ:304906607 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!资源仅供学习参考请勿商用或其它非法用途,否则一切后果用户自负!