目录
第一部分设计模式基础
第1章设计模式概述
1.1设计模式的定义与起源
1.1.1模式与设计模式
1.1.2模式的起源
1.1.3设计模式的基本要素
1.2为什么要使用设计模式
1.2.1设计模式的作用
1.2.2如何正确地学习和使用设计模式
1.3GoF的23种设计模式
1.3.1设计模式的分类
1.3.223种设计模式的简单描述
1.4设计模式与架构、框架的区别与联系
1.4.1什么是架构
1.4.2什么是框架
1.4.3设计模式、架构、框架的比较
1.5本章习题
第2章设计模式与UML建模
2.1UML建模简介
2.2UML类图
2.2.1类与类图
2.2.2类图中的基本元素符号
2.2.3类与类之间的关系
2.3UML建模实例分析
2.3.1实例分析1——聊天系统登录模块
2.3.2实例分析2——某C/S软件注册模块
2.4本章习题
第3章面向对象的设计原则
3.1软件设计的“七宗罪”
3.2面向对象的三大机制
3.2.1封装
3.2.2继承
3.2.3多态
3.3面向对象基本原则
3.3.1单一职责原则
3.3.2开闭原则
3.3.3里氏替换原则
3.3.4接口隔离原则
3.3.5依赖倒置原则
3.4本章习题
第二部分创建型设计模式
第4章工厂方法模式
4.1从简单工厂模式到工厂方法模式
4.1.1简单工厂模式
4.1.2工厂方法模式
4.2工厂方法模式的结构及其代码示例
4.2.1工厂方法模式的结构
4.2.2工厂方法模式的代码示例——笔记本电脑生产的模拟
4.3工厂方法模式在电子商务系统中的应用
4.3.1问题描述
4.3.2使用工厂方法模式实现消息通知的发送
4.3.3工厂方法模式的应用效果分析
4.4本章习题
第5章抽象工厂模式
5.1抽象工厂模式概述
5.1.1抽象工厂模式的动机
5.1.2抽象工厂模式的定义
5.2抽象工厂模式的结构及其代码示例
5.2.1抽象工厂模式的结构
5.2.2抽象工厂模式的代码示例——笔记本电脑生产商业务的拓展
5.3抽象工厂模式在电子商务系统中的应用
5.3.1问题描述
5.3.2抽象工厂模式在电子商务系统数据访问层的使用
5.3.3抽象工厂模式的应用效果分析
5.4本章习题
第6章建造者模式
6.1建造者模式概述
6.1.1建造者模式的动机
6.1.2建造者模式的定义
6.2建造者模式的结构及其代码示例
6.2.1建造者模式的结构
6.2.2建造者模式的代码示例——计算机生产过程的模拟
6.3建造者模式在电子商务系统中的应用
6.3.1问题描述
6.3.2使用建造者模式实现电子商务系统中的数据导出
6.3.3建造者模式的应用效果分析
6.4本章习题
第7章单例模式
7.1单例模式概述
7.1.1单例模式的动机
7.1.2单例模式的定义
7.2单例模式的结构及其代码示例
7.2.1单例模式的结构
7.2.2单例模式的代码示例——Windows回收站的创建模拟
7.3单例模式在电子商务系统开发中的应用
7.3.1问题描述
7.3.2使用单例模式编写网站计数器程序
7.3.3单例模式的应用效果分析
7.4本章习题
第8章原型模式
8.1原型模式概述
8.1.1原型模式的动机
8.1.2原型模式的定义
8.2原型模式的结构及其代码示例
8.2.1原型模式的结构
8.2.2原型模式的代码示例——简历克隆
8.3原型模式在电子商务系统中的应用
8.3.1问题描述
8.3.2使用原型模式实现广告邮件的克隆
8.3.3原型模式的应用效果分析
8.4本章习题
第9章创建型模式总结
9.1创建型模式小结
9.2创建型模式综合练习
第三部分结构型设计模式
第10章装饰者模式
10.1装饰者模式概述
10.1.1装饰者模式的动机
10.1.2装饰者模式的定义
10.2装饰者模式的结构及其代码示例
10.2.1装饰者模式的结构
10.2.2装饰者模式的代码示例——早餐店订单系统
10.3装饰者模式在电子商务系统中的应用
10.3.1问题描述
10.3.2使用装饰者模式实现电子商务系统的计价功能
10.3.3装饰者模式的应用效果分析
10.4本章习题
第11章适配器模式
11.1适配器模式概述
11.1.1适配器模式的动机
11.1.2适配器模式的定义
11.2适配器模式的结构及其代码示例
11.2.1类适配器模式的结构
11.2.2类适配器模式的代码示例——学生管理系统的维护
11.2.3对象适配器模式的结构
11.2.4对象适配器模式的代码示例——插座转换器的模拟
11.2.5对象适配器模式和类适配器模式的比较
11.3适配器模式在电子商务系统中的应用
11.3.1问题描述
11.3.2使用适配器模式实现电子商务系统功能的扩展
11.3.3适配器模式的应用效果分析
11.4本章习题
第12章享元模式
12.1享元模式概述
12.1.1享元模式的动机
12.1.2享元模式的定义
12.2享元模式的结构及其代码示例
12.2.1单纯享元模式的结构
12.2.2单纯享元模式的代码示例——文本编辑器中的应用
12.2.3复合享元模式的结构
12.2.4复合享元模式的代码示例——文本编辑器中的应用
12.3享元模式在电子商务系统中的应用
12.3.1问题描述
12.3.2使用享元模式实现淘宝网网店模板的共享
12.3.3享元模式的应用效果分析
12.4本章习题
第13章代理模式
13.1代理模式概述
13.1.1代理模式的动机
13.1.2代理模式的定义
13.2代理模式的结构及其代码示例
13.2.1代理模式的结构
13.2.2代理模式的代码示例——票务中心代购车票
13.3代理模式在电子商务系统中的应用
13.3.1问题描述
13.3.2远程代理示例——商品信息查询Web Service
服务器端及客户端的实现
13.3.3代理模式的应用效果分析
13.4本章习题
第14章桥接模式
14.1桥接模式概述
14.1.1桥接模式的动机
14.1.2桥接模式的定义
14.2桥接模式的结构及其代码示例
14.2.1桥接模式的结构
14.2.2桥接模式的代码示例——日志记录工具的开发
14.3桥接模式在电子商务系统中的应用
14.3.1问题描述
14.3.2使用桥接模式实现电子商务系统中的发送消息通知的功能
14.3.3桥接模式的应用效果分析
14.4本章习题
第15章组合模式
15.1组合模式概述
15.1.1组合模式的动机
15.1.2组合模式的定义
15.2组合模式的结构及其代码示例
15.2.1组合模式的结构
15.2.2组合模式的代码示例——二叉树遍历
15.3组合模式在电子商务系统中的应用
15.3.1问题描述
15.3.2使用组合模式管理网站商品类别
15.3.3组合模式的应用效果分析
15.4本章习题
第16章结构型设计模式总结
16.1结构型模式小结
16.2结构型模式综合练习
第四部分行为型设计模式
第17章观察者模式
17.1观察者模式概述
17.1.1观察者模式的动机
17.1.2观察者模式的定义
17.2观察者模式的结构及其代码示例
17.2.1观察者模式的结构
17.2.2观察者模式的代码示例——微信公众服务系统模拟
17.3观察者模式在电子商务系统中的应用
17.3.1问题描述
17.3.2使用观察者模式实现电子商务系统中的商品订阅通知
17.3.3观察者模式的应用效果分析
17.4本章习题
第18章策略模式
18.1策略模式概述
18.1.1策略模式的动机
18.1.2策略模式的定义
18.2策略模式的结构及其代码示例
18.2.1策略模式的结构
18.2.2策略模式的代码示例——Oracle数据库备份策略模拟
18.3策略模式在电子商务系统中的应用
18.3.1问题描述
18.3.2使用策略模式实现商品排序功能
18.3.3策略模式的应用效果分析
18.4本章习题
第19章责任链模式
19.1责任链模式概述
19.1.1责任链模式的动机
19.1.2责任链模式的定义
19.2责任链模式的结构及其代码示例
19.2.1责任链模式的结构
19.2.2责任链模式的代码示例——聚餐费用申请管理
19.3责任链模式在电子商务系统中的应用
19.3.1问题描述
19.3.2使用责任链模式实现电子商务系统中的敏感词过滤
19.3.3责任链模式的应用效果分析
19.4本章习题
第20章状态模式
20.1状态模式概述
20.1.1状态模式的动机
20.1.2状态模式的定义
20.2状态模式的结构及其代码示例
20.2.1状态模式的结构
20.2.2状态模式的代码示例——电灯的开关控制
20.3状态模式在电子商务系统中的应用
20.3.1问题描述
20.3.2使用状态模式实现电子商务系统中会员等级状态的转换
20.3.3状态模式的应用效果分析
20.4本章习题
第21章命令模式
21.1命令模式概述
21.1.1命令模式的动机
21.1.2命令模式的定义
21.2命令模式的结构及其代码示例
21.2.1命令模式的结构
21.2.2命令模式的代码示例——计算机启动过程模拟
21.3命令模式在电子商务系统中的应用
21.3.1问题描述
21.3.2使用命令模式实现电子商务系统中的用户管理
21.3.3命令模式的应用效果分析
21.4本章习题
第22章中介者模式
22.1中介者模式概述
22.1.1中介者模式的动机
22.1.2中介者模式的定义
22.2中介者模式的结构及其代码示例
22.2.1中介者模式的结构
22.2.2中介者模式的代码示例——房屋中介模拟
22.3中介者模式在电子商务系统中的应用
22.3.1问题描述
22.3.2使用中介者模式模拟当当网的送货流程
22.3.3中介者模式的应用效果分析
22.4本章习题
第23章行为型设计模式总结
23.1行为型模式小结
23.2行为型模式综合练习
附录习题答案
参考文献