编辑推荐
内容丰富,详细讲解7个面向对象设计原则和24个常用设计模式。
实例驱动,提供24个模式应用实例的完整设计方案和程序代码
学练结合,包含超过150道习题和3套设计模式模拟试题
内容简介
本书使用Java语言详细讲解常用的软件设计模式。全书共26章,内容包括设计模式概述、面向对象设计原则、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。
本书结合大量项目实例对每一个设计模式进行全面、细致的讲解。全书结构合理、条理清晰、内容丰富,且在每一章后面都配有一定数量的习题,在附录中还提供了UML类图相关知识的介绍和3套设计模式模拟试题。另外,扫描书中二维码,可以观看与本书内容配套的课程教学视频,本书还提供了完整的教学资源。
本书既可作为高等院校计算机及软件相关专业本科生和研究生软件设计模式、软件体系结构、面向对象分析与设计等课程教材,也可作为各软件培训机构培训教材及全国计算机技术与软件专业技术资格(水平)考试辅导教材,还可作为软件架构师、软件工程师及广大软件爱好者的自学读物和参考用书。
作者简介
刘伟,中南大学计算机应用技术博士,高级工程师,中国计算机学会会员,国家认证系统分析师,首批国家认证系统架构设计师,数据库系统工程师,微软认证系统工程师,CSDN认证专家及知名博主。具有十多年软件开发、项目管理及教育培训经验。
目录
目录
第1章设计模式概述
1.1设计模式的诞生与发展
1.1.1模式的诞生与定义
1.1.2软件模式概述
1.1.3设计模式的发展
1.2设计模式的定义与分类
1.2.1设计模式的定义
1.2.2设计模式的基本要素
1.2.3设计模式的分类
1.3GoF设计模式简介
1.4设计模式的优点
1.5本章小结
1.6习题
第2章面向对象设计原则
2.1面向对象设计原则概述
2.2单一职责原则
2.3开闭原则
2.4里氏代换原则
2.5依赖倒转原则
2.6接口隔离原则
2.7合成复用原则
2.8迪米特法则
2.9本章小结
2.10习题
第3章简单工厂模式
3.1创建型模式
3.2简单工厂模式概述
3.3简单工厂模式结构与实现
3.3.1简单工厂模式结构
3.3.2简单工厂模式实现
3.4简单工厂模式应用实例
3.5关于创建对象与使用对象
3.6简单工厂模式的简化
3.7简单工厂模式优/缺点与适用环境
3.7.1简单工厂模式优点
3.7.2简单工厂模式缺点
3.7.3简单工厂模式适用环境
3.8本章小结
3.9习题
第4章工厂方法模式
4.1工厂方法模式概述
4.2工厂方法模式结构与实现
4.2.1工厂方法模式结构
4.2.2工厂方法模式实现
4.3工厂方法模式应用实例
4.4反射机制与配置文件
4.5工厂方法的重载
4.6工厂方法的隐藏
4.7工厂方法模式优/缺点与适用环境
4.7.1工厂方法模式优点
4.7.2工厂方法模式缺点
4.7.3工厂方法模式适用环境
4.8本章小结
4.9习题
第5章抽象工厂模式
5.1产品等级结构与产品族
5.2抽象工厂模式概述
5.3抽象工厂模式结构与实现
5.3.1抽象工厂模式结构
5.3.2抽象工厂模式实现
5.4抽象工厂模式应用实例
5.5开闭原则的倾斜性
5.6抽象工厂模式优/缺点与适用环境
5.6.1抽象工厂模式优点
5.6.2抽象工厂模式缺点
5.6.3抽象工厂模式适用环境
5.7本章小结
5.8习题
第6章建造者模式
6.1建造者模式概述
6.2建造者模式结构与实现
6.2.1建造者模式结构
6.2.2建造者模式实现
6.3建造者模式应用实例
6.4指挥者类的深入讨论
6.5建造者模式优/缺点与适用环境
6.5.1建造者模式优点
6.5.2建造者模式缺点
6.5.3建造者模式适用环境
6.6本章小结
6.7习题
第7章原型模式
7.1原型模式概述
7.2原型模式结构与实现
7.2.1原型模式结构
7.2.2浅克隆与深克隆
7.2.3原型模式实现
7.3原型模式应用实例
7.4原型管理器
7.5原型模式优/缺点与适用环境
7.5.1原型模式优点
7.5.2原型模式缺点
7.5.3原型模式适用环境
7.6本章小结
7.7习题
第8章单例模式
8.1单例模式概述
8.2单例模式结构与实现
8.2.1单例模式结构
8.2.2单例模式实现
8.3单例模式应用实例
8.4饿汉式单例与懒汉式单例
8.5单例模式优/缺点与适用环境
8.5.1单例模式优点
8.5.2单例模式缺点
8.5.3单例模式适用环境
8.6本章小结
8.7习题
第9章适配器模式
9.1结构型模式
9.2适配器模式概述
9.3适配器模式结构与实现
9.3.1适配器模式结构
9.3.2适配器模式实现
9.4适配器模式应用实例
9.5缺省适配器模式
9.6双向适配器
9.7适配器模式优/缺点与适用环境
9.7.1适配器模式优点
9.7.2适配器模式缺点
9.7.3适配器模式适用环境
9.8本章小结
9.9习题
第10章桥接模式
10.1桥接模式概述
10.2桥接模式结构与实现
10.2.1桥接模式结构
10.2.2桥接模式实现
10.3桥接模式应用实例
10.4桥接模式与适配器模式的联用
10.5桥接模式优/缺点与适用环境
10.5.1桥接模式优点
10.5.2桥接模式缺点
10.5.3桥接模式适用环境
10.6本章小结
10.7习题
第11章组合模式
11.1组合模式概述
11.2组合模式结构与实现
11.2.1组合模式结构
11.2.2组合模式实现
11.3组合模式应用实例
11.4透明组合模式与安全组合模式
11.5组合模式优/缺点与适用环境
11.5.1组合模式优点
11.5.2组合模式缺点
11.5.3组合模式适用环境
11.6本章小结
11.7习题
第12章装饰模式
12.1装饰模式概述
12.2装饰模式结构与实现
12.2.1装饰模式结构
12.2.2装饰模式实现
12.3装饰模式应用实例
12.4透明装饰模式与半透明装饰模式
12.5装饰模式优/缺点与适用环境
12.5.1装饰模式优点
12.5.2装饰模式缺点
12.5.3装饰模式适用环境
12.6本章小结
12.7习题
第13章外观模式
13.1外观模式概述
13.2外观模式结构与实现
13.2.1外观模式结构
13.2.2外观模式实现
13.3外观模式应用实例
13.4抽象外观类
13.5外观模式优/缺点与适用环境
13.5.1外观模式优点
13.5.2外观模式缺点
13.5.3外观模式适用环境
13.6本章小结
13.7习题
第14章享元模式
14.1享元模式概述
14.2享元模式结构与实现
14.2.1享元模式结构
14.2.2享元模式实现
14.3享元模式应用实例
14.4有外部状态的享元模式
14.5单纯享元模式与复合享元模式
14.6享元模式与String类
14.7享元模式优/缺点与适用环境
14.7.1享元模式优点
14.7.2享元模式缺点
14.7.3享元模式适用环境
14.8本章小结
14.9习题
第15章代理模式
15.1代理模式概述
15.2代理模式结构与实现
15.2.1代理模式结构
15.2.2代理模式实现
15.3代理模式应用实例
15.4远程代理
15.5虚拟代理
15.6Java动态代理
15.7代理模式优/缺点与适用环境
15.7.1代理模式优点
15.7.2代理模式缺点
15.7.3代理模式适用环境
15.8本章小结
15.9习题
第16章职责链模式
16.1行为型模式
16.2职责链模式概述
16.3职责链模式结构与实现
16.3.1职责链模式结构
16.3.2职责链模式实现
16.4职责链模式应用实例
16.5纯与不纯的职责链模式
16.6职责链模式优/缺点与适用环境
16.6.1职责链模式优点
16.6.2职责链模式缺点
16.6.3职责链模式适用环境
16.7本章小结
16.8习题
第17章命令模式
17.1命令模式概述
17.2命令模式结构与实现
17.2.1命令模式结构
17.2.2命令模式实现
17.3命令模式应用实例
17.4实现命令队列
17.5记录请求日志
17.6实现撤销操作
17.7宏命令
17.8命令模式优/缺点与适用环境
17.8.1命令模式优点
17.8.2命令模式缺点
17.8.3命令模式适用环境
17.9本章小结
17.10习题
第18章解释器模式
18.1解释器模式概述
18.2文法规则和抽象语法树
18.3解释器模式结构与实现
18.3.1解释器模式结构
18.3.2解释器模式实现
18.4解释器模式应用实例
18.5解释器模式优/缺点与适用环境
18.5.1解释器模式优点
18.5.2解释器模式缺点
18.5.3解释器模式适用环境
18.6本章小结
18.7习题
第19章迭代器模式
19.1迭代器模式概述
19.2迭代器模式结构与实现
19.2.1迭代器模式结构
19.2.2迭代器模式实现
19.3迭代器模式应用实例
19.4使用内部类实现迭代器
19.5Java内置迭代器
19.6迭代器模式优/缺点与适用环境
19.6.1迭代器模式优点
19.6.2迭代器模式缺点
19.6.3迭代器模式适用环境
19.7本章小结
19.8习题
第20章中介者模式
20.1中介者模式概述
20.2中介者模式结构与实现
20.2.1中介者模式结构
20.2.2中介者模式实现
20.3中介者模式应用实例
20.4扩展中介者与同事类
20.5中介者模式优/缺点与适用环境
20.5.1中介者模式优点
20.5.2中介者模式缺点
20.5.3中介者模式适用环境
20.6本章小结
20.7习题
第21章备忘录模式
21.1备忘录模式概述
21.2备忘录模式结构与实现
21.2.1备忘录模式结构
21.2.2备忘录模式实现
21.3备忘录模式应用实例
21.4实现多次撤销
21.5备忘录模式优/缺点与适用环境
21.5.1备忘录模式优点
21.5.2备忘录模式缺点
21.5.3备忘录模式适用环境
21.6本章小结
21.7习题
精彩书摘
第3章简单工厂模式
本章导学
创建型模式关注对象的创建过程,是一类最常见的设计模式,在软件开发中的应用非常广泛。创建型模式描述如何将对象的创建和使用分离,让用户在使用对象时无须关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展。
简单工厂模式是最简单的设计模式之一,它虽然不属于GoF的23种设计模式,但是应用也较为频繁,同时它是学习其他创建型模式的基础。在简单工厂模式中只需要记住一个简单的参数即可获得所需的对象实例,它提供专门的核心工厂类来负责对象的创建,实现对象创建和使用的分离。
本章将对6种创建型模式进行简要的介绍,并通过实例来学习简单工厂模式,理解简单工厂模式的结构及特点,学会如何在实际软件项目开发中合理地使用简单工厂模式。
本章知识点
�r 创建型模式
�r 简单工厂模式的定义
�r 简单工厂模式的结构
�r 简单工厂模式的实现
�r 简单工厂模式的应用
�r 简单工厂模式的优/缺点
�r 简单工厂模式的适用环境
3.1创建型模式
软件系统在运行时类将实例化成对象,并由这些对象来协作完成各项业务功能。创建型模式(Creational Pattern)关注对象的创建过程,是一类最常用的设计模式,在软件开发中的应用非常广泛。创建型模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离,对用户隐藏了类的实例的创建细节。
创建型模式描述如何将对象的创建和使用分离,让用户在使用对象时无须关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展。每一个创建型模式都通过采用不同的解决方案来回答3个问题,即创建什么(What)、由谁创建(Who)和何时创建(When)。
在GoF设计模式中包含5种创建型模式,通常将一种非GoF设计模式——简单工厂模式作为学习其他工厂模式的基础,这6种设计模式的名称、定义、学习难度和使用频率如表3��1所示。
表3��1创建型模式一览表
模 式 名 称
定义
学习难度
使用频率
简单工厂模式
(Simple Factory Pattern)
定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通
Java设计模式(高等学校设计模式课程系列教材) 电子书 下载 mobi epub pdf txt