新書推薦:

《
喵星语解密手册
》
售價:HK$
86.9

《
新型戏剧编剧技巧初探
》
售價:HK$
82.5

《
历代玉器收藏与鉴赏
》
售價:HK$
396.0

《
铁腕拗相王安石:北宋的改革家和变法者
》
售價:HK$
107.8

《
中国法律史学学说史(中国法学学术史丛书;国家出版基金项目)
》
售價:HK$
184.8

《
方尖碑(全2册)
》
售價:HK$
105.6

《
出土文献与汉唐法制史新论
》
售價:HK$
85.8

《
最美最美的博物书(全5册)
》
售價:HK$
160.6
|
編輯推薦: |
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、程序源码、习题答案、教学进度表、在线题库和600分钟的微课视频。
本书特色:
(1)内容丰富,详细讲解7个面向对象设计原则和24个常用设计模式;
(2)实例驱动,提供24个模式应用实例的完整设计方案和程序代码;
(3)学练结合,提供丰富的教学资源及在线作业平台。
|
內容簡介: |
本书使用Java语言详细讲解常用的软件设计模式。全书共26章,内容包括设计模式概述、面向对象设计原则、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。
本书结合大量项目实例对每个设计模式进行全面、细致的讲解。全书结构合理、条理清晰、内容丰富,且在每章后面都配有一定数量的习题,在附录中还提供了UML类图相关知识的介绍。
本书既可作为高等院校计算机及软件相关专业“软件设计模式”“软件体系结构”“面向对象分析与设计”等课程教材,也可作为各软件培训机构培训教材及全国计算机技术与软件专业技术资格(水平)考试辅导教材,还可作为软件架构师、软件工程师及广大软件爱好者的自学读物和参考用书。
|
目錄:
|
第一部分设计模式基础
第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.6单例模式优缺点与适用环境
8.6.1单例模式优点
8.6.2单例模式缺点
8.6.3单例模式适用环境
8.7本章小结
8.8习题
第三部分结构型设计模式
第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.6动态代理
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习题
第22章观察者模式
22.1观察者模式概述
22.2观察者模式结构与实现
22.2.1观察者模式结构
22.2.2观察者模式实现
22.3观察者模式应用实例
22.4JDK对观察者模式的支持
22.5观察者模式与Java事件处理
22.6观察者模式与MVC
22.7观察者模式优缺点与适用环境
22.7.1观察者模式优点
22.7.2观察者模式缺点
22.7.3观察者模式适用环境
22.8本章小结
22.9习题
第23章状态模式
23.1状态模式概述
23.2状态模式结构与实现
23.2.1状态模式结构
23.2.2状态模式实现
23.3状态模式应用实例
23.4共享状态
23.5使用环境类实现状态转换
23.6状态模式优缺点与适用环境
23.6.1状态模式优点
23.6.2状态模式缺点
23.6.3状态模式适用环境
23.7本章小结
23.8习题
第24章策略模式
24.1策略模式概述
24.2策略模式结构与实现
24.2.1策略模式结构
24.2.2策略模式实现
24.3策略模式应用实例
24.4Java SE中的布局管理
24.5策略模式优缺点与适用环境
24.5.1策略模式优点
24.5.2策略模式缺点
24.5.3策略模式适用环境
24.6本章小结
24.7习题
第25章模板方法模式
25.1模板方法模式概述
25.2模板方法模式结构与实现
25.2.1模板方法模式结构
25.2.2模板方法模式实现
25.3模板方法模式应用实例
25.4钩子方法的使用
25.5模板方法模式优缺点与适用环境
25.5.1模板方法模式优点
25.5.2模板方法模式缺点
25.5.3模板方法模式适用环境
25.6本章小结
25.7习题
第26章访问者模式
26.1访问者模式概述
26.2访问者模式结构与实现
26.2.1访问者模式结构
26.2.2访问者模式实现
26.3访问者模式应用实例
26.4访问者模式与组合模式联用
26.5访问者模式优缺点与适用环境
26.5.1访问者模式优点
26.5.2访问者模式缺点
26.5.3访问者模式适用环境
26.6本章小结
26.7习题
附录AUML类图
A.1UML概述
A.2类与类的UML表示
A.3类之间的关系
参考文献
|
內容試閱:
|
党的二十大报告指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。
设计模式和敏捷开发方法的创始人之一Erich Gamma曾说过: “设计和开发面向对象软件是非常困难的,而设计和开发可复用的面向对象软件则更加困难。”正因为如此,在软件开发过程中,有经验的设计者往往会重复使用一些他们在以前的设计工作中曾经用到的成功而又有效的解决方案,这些解决方案可以提高开发人员的开发效率与软件质量,并使得所设计的软件更加灵活,易于扩展,可复用性也更高。这些解决方案就是设计模式。设计模式为实现可维护性复用而诞生,无论是面向对象编程的初学者还是有一定编程经验的程序员,都可以从设计模式的学习和使用中深入理解面向对象思想的精华,开发出可扩展性和可复用性俱佳的软件。
设计模式是前人经验的积累,它让软件变得更像一件艺术品,而不是一堆难以维护和重用的代码,它已经成功应用于众多软件设计中,是一个优秀的面向对象软件开发人员所必须掌握的知识和技能。本书编者在十多年的软件开发和计算机教育教学工作中积累了丰富的设计模式使用经验和教学经验,也深刻体会到学习设计模式的重要性。目前,国内外越来越多的高校在计算机及软件工程相关专业的教学中开设了“软件体系结构”“面向对象分析与设计”等课程,而设计模式是这些课程的核心组成部分,还有的学校将“设计模式”作为一门单独的课程来开设。此外,很多软件培训机构在软件工程师培训课程中也包含了设计模式相关内容,在各类计算机考试和企业招聘笔试中设计模式相关考题也占据了一定的比例。编者在过去几年中已完成多种设计模式教材的编写工作,本书融合了之前几种教材的优点,力求为广大师生提供一本内容全面、实用性强、通俗易懂的设计模式教材。
本书的编写目的在于通过大量应用实例和习题,理论联系实际,使读者更快、更好地理解和掌握每个设计模式。全书共26章,可分为四部分:
第一部分包含第1章和第2章,主要介绍与设计模式相关的一些基础知识,包括设计模式概述、7个常用的面向对象设计原则等内容,为后续设计模式的学习奠定基础;
第二部分包含第3~8章,介绍6种常用的创建型设计模式,分别是简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式和单例模式;
第三部分包含第9~15章,介绍7种常用的结构型设计模式,分别是适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式;
第四部分包含第16~26章,介绍11种常用的行为型设计模式,分别是职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。
本书结合大量项目应用实例对每个设计模式进行了细致的讲解。全书结构合理、条理清晰、内容丰富、讲解深入,且在每章后面都配有大量的习题,很多习题也都基于项目实例,让读者在学完相关知识后能够更好地消化和巩固所学知识。此外,在附录中还提供了UML类图相关知识的介绍。
在本书的编写过程中参考了大量已有的设计模式书籍,集各家之所长,并进行了适当的整理和扩展,将一些原本深奥并难以理解的设计思想通过简单的应用实例来解析,让读者能够轻松掌握面向对象设计思想的精髓。本书以“实例驱动教学”为整体编写原则,每个模式的学习都基于至少一个应用实例,结合应用实例分析和讲解每个设计模式,力求通过最通俗易懂的方式让读者学习和理解设计模式,让读者在真实项目实例的引导下学会选择和合理运用设计模式。在设计模式讲解部分,每章的基本结构如下:
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、教学进度表、在线作业、习题答案和600分钟的微课视频。此外,本书还提供完整的设计模式及应用实例的UML结构图(类图)和Java实现代码,所有类图均严格按照UML 2.X标准绘制,所有代码均在Eclipse Neon v4.6.0中通过测试且运行无误。
资源下载提示
课件等资源: 扫描封底的“图书资源”二维码,在公众号“书圈”下载。
素材(源码)等资源: 扫描目录上方的二维码下载。
在线自测题: 扫描封底的作业系统二维码,再扫描自测题二维码在线做题。
微课视频: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的视频讲解二维码,可以在线学习。
本书既可作为高等院校计算机及软件相关专业“软件设计模式”“软件体系结构”“面向对象分析与设计”等课程教材,也可作为各软件培训机构培训教材及全国计算机技术与软件专业技术资格(水平)考试辅导教材,还可作为软件架构师、软件工程师及广大软件爱好者的自学读物和参考用书。
由于时间仓促,加之编者学识有限,虽经多次审阅与校稿,但书中不足和疏漏之处在所难免,恳请广大读者批评、指正,力求使本书精益求精,更趋完美。
编者
2024年8月
|
|