Java与模式PDF电子书下载
- 电子书积分:26 积分如何计算积分?
- 作 者:阎宏编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2002
- ISBN:7505380001
- 页数:1024 页
第一部分 3
第1章 模式的简史和形而上学 3
1.1 模式是什么 3
1.2 软件模式的简史 3
1.3 模式的起源 4
1.4 与道家思想的关系 5
1.5 软件的永恒之道 8
1.6 模式的要素 10
1.7 本书讲解模式的格式 11
第2章 统一建模语言UML简介 13
2.1 建造世界贸易中心 13
2.2 什么是UML 14
2.3 UML包括什么 15
2.4 类图 17
2.5 时序图 24
2.6 状态图 25
2.7 UML及建模的工具 27
第二部分 33
第3章 软件的可维护性与可复用性 33
3.1 软件系统的可维护性 33
3.2 系统的可复用性 37
3.3 老子论“不武” 40
第4章 “开-闭”原则(OCP) 41
4.1 什么是“开-闭”原则 41
4.2 怎样做到“开-闭”原则 41
4.3 与其他设计原则的关系 43
4.4 策略模式对“开-闭”原则的支持 45
4.5 在其他设计模式中的体现 46
4.6 一个重构做法的讨论 49
第5章 专题:Java语言的接口 53
5.1 什么是接口 53
5.2 为什么使用接口 54
5.3 Java接口常见的用法 56
第6章 专题:抽象类 61
6.1 什么是抽象类 61
6.2 抽象类的用途 61
6.3 基于抽象类的模式和原则 64
6.4 什么时候才应当使用继承复用 64
7.1 美猴王的智慧 69
第7章 里氏代换原则(LSP) 69
7.2 什么是里氏代换原则 70
7.3 里氏代换原则在设计模式中的体现 71
7.4 墨子论“取譬” 73
7.5 从代码重构的角度理解 74
第8章 依赖倒转原则(DIP) 85
8.1 为何而“倒转” 85
8.2 复用与可维护性的“倒转” 86
8.3 依赖倒转原则 86
8.4 怎样做到依赖倒转原则 88
8.5 Java对抽象类型的支持 90
8.6 一个例子:账号、账号的种类和账号的状态 92
8.8 依赖倒转原则的优缺点 95
8.7 墨子论“取周” 95
第9章 接口隔离原则(ISP) 97
9.1 什么是接口隔离原则 97
9.2 一个角色隔离原则的例子 98
9.3 定制服务的例子 100
第10章 合成/聚合复用原则(CARP) 103
10.1 合成和聚合的区别 103
10.2 复用的基本种类 103
10.3 从代码重构的角度理解 105
第11章 迪米特法则(LoD) 109
11.1 迪米特法则的各种表述 109
11.2 狭义的迪米特法则 109
11.3 迪米特法则与设计模式 114
11.4 广义的迪米特法则 116
11.5 广义迪米特法则在类的设计上的体现 117
11.6 广义迪米特法则在代码层次上的实现 120
11.7 老子论“圣人之治” 120
第三部分 127
第12章 简单工厂(Simple Factory)模式 127
12.1 工厂模式的几种形态 127
12.2 简单工厂模式的引进 128
12.3 简单工厂模式的结构 134
12.4 简单工厂模式的实现 136
12.5 简单工厂模式与其他模式的关系 140
12.6 简单工厂模式的优点和缺点 142
12.7 简单工厂模式在Java中的应用 143
12.8 女娲抟土造人 146
第13章 工厂方法(Factory Method)模式 151
13.1 引言 151
13.2 工厂方法模式的结构 153
13.3 工厂方法模式在农场系统中的实现 157
13.4 关于工厂方法模式的实现 162
13.5 Java语言中工厂方法模式的例子 165
13.6 工厂方法模式与其他模式的关系 168
13.7 女娲举绳造人 170
13.8 其他的例子 170
第14章 抽象工厂(Abstract Factory)模式 179
14.1 引言 179
14.2 问题 181
14.3 抽象工厂模式的结构 184
14.4 在什么情形下应当使用抽象工厂模式 189
14.5 抽象工厂模式在农场系统中的实现 191
14.6 抽象工厂模式的另一个例子 196
14.7 “开-闭”原则 197
14.8 相关的模式与模式的实现 198
14.9 女娲造万物的故事 200
14.10 附录:Java AWT的Peer架构与抽象工厂模式 206
第15章 单例(Singleton)模式 209
15.1 引言 209
15.2 单例模式的结构 210
15.3 在什么情况下使用单例模式 215
15.4 单例类的状态 216
15.5 一个实用的例子:属性管理器 217
15.6 Java语言中的单例模式 223
15.7 专题:不完全的单例类 226
15.8 相关模式 227
15.9 附录:双重检查成例的研究 230
15.10 给读者的一点建议 234
第16章 专题:单例模式与MX记录 235
16.1 问题与解决方案 235
16.2 目录服务与MX记录 237
16.3 JNDI架构介绍 237
16.4 如何使用JNDI编程 238
16.5 系统设计 241
16.6 讨论 246
第17章 专题:多例(Multiton)模式与多语言支持 253
17.1 引言 253
17.2 多例模式 254
17.3 多语言项目的设计 258
第18章 专题:序列键生成器与单例及多例模式 267
18.1 问题 267
18.2 将单例模式应用到系统设计中 269
18.3 将多例模式应用到系统设计中 281
18.4 讨论 284
第19章 建造(Builder)模式 285
19.1 引言 285
19.2 建造模式的结构 286
19.3 建造模式的活动序列 290
19.4 建造模式的实现 291
19.5 众神造人的神话故事 295
19.6 JavaMail中的建造模式 296
19.7 一个发送邮件的例子 298
19.8 在什么情况下使用建造模式 308
19.9 建造模式与其他模式的关系 309
第20章 原始模型(Prototype)模式 317
20.1 引言 317
20.2 变量、对象以及对象的引用 318
20.3 Java对象的复制 319
20.4 原始模型模式的结构 323
20.5 模式的实现:深复制和浅复制 327
20.6 孙大圣的身外身法术 329
20.7 在什么情况下使用原始模型模式 340
20.8 原始模型模式的优点和缺点 341
20.9 原始模型模式与其他模式的关系 341
21.1 什么是“冷藏”和“解冻” 345
第21章 专题:JavaBean的“冷藏”和“解冻” 345
21.2 什么可以“冷藏” 346
21.3 Beans.instantiate()方法 348
21.4 怎样在JSP中使用Beans.Instantiate()方法 353
21.5 与装饰模式的关系 354
第四部分 359
第22章 适配器(Adapter)模式 359
22.1 引言 359
22.2 类的适配器模式的结构 360
22.3 类的适配器模式的效果 361
22.4 对象的适配器模式的结构 362
22.5 在什么情况下使用适配器模式 364
22.6 Iterator与Enumeration 364
22.7 利用适配器模式指方为圆 367
22.8 适配器模式在架构层次上的应用 370
22.9 关于模式实现的讨论 373
22.10 适配器模式与相关的模式 373
第23章 缺省适配(Default Adapter)模式 379
23.1 鲁智深的故事 379
23.2 Window Adapter是缺省适配模式 381
23.3 模式的结构 384
23.4 在什么情况下使用本模式 385
23.5 模式的实现 385
23.6 J2SE中的缺省适配模式 386
23.7 一个例子 387
第24章 专题:XMLProperties与适配器模式 391
24.1 引言 391
24.2 SAX2浏览器 393
24.3 开始XMLProperties项目 398
第25章 合成(Composite)模式 409
25.1 对象的树结构 409
25.2 介绍合成模式 411
25.3 安全式和透明式的合成模式 412
25.4 安全式的合成模式的结构 413
25.5 透明式的合成模式的结构 416
25.6 合成模式的实现 419
25.7 道士的故事 420
25.8 一个绘图的例子 421
25.9 AWT库中的例子 428
25.10 合成模式与其他模式的关系 429
26.2 装饰模式的结构 435
第26章 装饰(Decorator)模式 435
26.1 引言 435
26.3 装饰模式应当在什么情况下使用 441
26.4 孙大圣的故事 441
26.5 使用装饰模式的优点和缺点 442
26.6 模式实现的讨论 443
26.7 装饰模式与其他模式的关系 446
26.8 实例:GrepReader 447
26.9 一个例子:发票系统 451
26.10 附录:关于适配器模式与装饰模式的对话 464
第27章 专题:设计模式在Java I/O库中的应用 469
27.1 引言 469
27.2 Java I/O库的设计原则 471
27.3 装饰模式的应用 472
27.4 半透明的装饰模式 480
27.5 适配器模式的应用 483
27.6 从byte流到char流的适配 489
第28章 代理(Proxy)模式 495
28.1 引言 495
28.2 代理的种类 496
28.3 代理模式的结构 498
28.4 代理模式的时序 501
28.5 Java 2.0对代理模式的支持 502
28.6 高老庄悟空降八戒 506
28.7 代理模式的优点和缺点 508
28.9 代理模式与其他模式的关系 509
28.8 代理模式的实现 509
29.1 问题 513
29.2 系统设计 513
第29章 专题:智能引用代理 513
29.3 系统的时序 516
29.4 系统的源代码 516
第30章 专题:虚拟代理的例子 521
30.1 问题 521
30.2 系统的要求 521
30.3 系统的设计 522
30.4 系统的时序 522
30.5 系统的源代码 523
31.1 引言 527
第31章 享元模式(Flyweight Pattem) 527
31.2 单纯享元模式的结构 528
31.3 复合享元模式的结构 532
31.4 模式的实现 537
31.5 一个咖啡摊的例子 543
31.6 咖啡屋的例子 548
31.7 享元模式应当在什么情况下使用 553
31.8 从代码重构的角度看享元模式 553
31.9 享元模式的优点和缺点 555
31.10 相关的模式 555
第32章 门面(Facade)模式 561
32.1 引言 561
32.3 门面模式的实现 563
32.2 门面模式的结构 563
32.4 在什么情况下使用门面模式 564
32.5 迪米特法则(LoD) 564
32.6 一个例子 565
32.7 使用门面模式的设计 568
32.8 Session门面模式 572
第33章 桥梁(Bridge)模式 575
33.1 引言 575
33.2 桥梁模式的结构 577
33.3 Java语言中的Peer架构 579
33.4 驱动器和JDBC驱动器 583
33.5 从重构的角度考察 584
33.6 桥梁模式和其他模式的关系 590
33.7 八戒“转世投胎”的故事 592
33.8 关于桥梁模式的实现 594
33.9 在什么情况下应当使用桥梁模式 595
第五部分 603
第34章 不变(Immutable)模式 603
34.1 引言 603
34.2 不变模式的结构和实现 603
34.3 不变模式在Java语言中的应用 605
34.4 不变模式的优点和缺点 606
34.5 不变模式与享元模式的关系 606
34.6 一个例子:复数类 607
第35章 策略(Strategy)模式 621
35.1 引言 621
35.2 模式的实现 623
35.3 Java语言内部的例子 624
35.4 排序策略系统 626
35.5 一个例子:图书折扣的计算 627
35.6 在什么情况下应当使用策略模式 632
35.7 策略模式的优点和缺点 632
35.8 策略模式与其他模式的关系 633
35.9 设计原则的讨论 635
35.10 诸葛亮的锦囊妙计 635
第36章 模版方法(Template Method)模式 641
36.1 引言 641
36.2 模版方法模式的结构 641
36.3 “好莱坞原则” 643
36.4 一个例子 644
36.5 继承作为复用的工具 647
36.6 Java语言里面使用过的模版方法模式 648
36.7 模版方法模式中的方法 650
36.8 模版方法模式在代码重构中的应用 651
36.9 重构的原则 655
36.10 西天取经的八十一难 656
第37章 专题:Servlet技术中的模式 659
37.1 Servlet技术介绍 659
37.2 模版方法模式的使用 661
37.3 观察者模式的应用 665
第38章 观察者(Observer)模式 671
38.1 引言 671
38.2 观察者模式的结构 672
38.3 另一种实现方案 676
38.4 Java语言提供的对观察者模式的支持 679
38.5 菩萨的守瓶龟 686
38.6 Java中的DEM事件机制 687
38.7 观察者模式与其他模式的关系 688
第39章 专题:观察者模式与AWT中的事件处理 691
39.1 引言 691
39.2 DEM的结构 691
第40章 专题:观察者模式与SAX2浏览器 705
40.1 引言 705
40.2 SAX2是怎么工作的 706
40.3 ContentHandler接口 706
40.4 怎样实现ContentHandler接口 708
40.5 怎样使用contentHandler 710
40.6 缺省适配模式与DefaultHandler 711
40.7 简单工厂模式的应用 716
第41章 专题:观察者模式与Swing定时器 717
41.1 为什么需要定时器 717
41.2 Utility定时器与Swing定时器的区别 717
41.3 使用Swing定时器的方法 719
41.4 观察者模式的应用 720
41.5 单例模式的应用 724
第42章 专题:MVC模式与用户输入数据检查 729
42.1 什么是MVC模式 729
42.2 MVC是架构模式 731
42.3 MVC模式在J2EE技术中的应用 733
42.4 从代码重构的角度查看 735
42.5 用户输入检查与MVC模式 736
42.6 SQL注射 738
第43章 迭代子(Iterator)模式 743
43.1 引言 743
43.2 迭代子模式的结构 745
43.3 迭代子模式的实现 755
43.4 迭代子模式的优点和缺点 757
43.5 一个例子 757
43.6 迭代子模式与其他模式的关系 763
第44章 专题:Java对迭代子模式的支持 769
44.1 Java聚集 769
44.2 Java聚集中的迭代子 771
44.3 java.util.Iterator接口 772
44.4 Java迭代子接口ListIterator 775
44.5 Enumeration与Iterator 780
44.6 其他相关模式 782
第45章 责任链(Chain of Responsibility)模式 785
45.1 从击鼓传花谈起 785
45.2 责任链模式的结构 785
45.3 纯的与不纯的责任链模式 788
45.4 Java1.0版的AWT事件处理机制 789
45.5 《红楼梦》中击鼓传花的故事 790
45.6 Java系统的解 792
45.7 责任链模式的实现 798
45.8 对象的树结构 799
45.9 DHTML中的事件处理 800
45.10 责任链模式与其他模式的关系 804
46.1 线程 809
第46章 专题:定时器与击鼓传花 809
46.2 定时器 810
46.3 击鼓传花 812
第47章 命令(Command)模式 823
47.1 引言 823
47.2 命令模式的结构 824
47.3 玉帝传美猴王上天 827
47.4 Java语言内的例子:AWT的事件处理 828
47.5 一个例子:创世纪系统 828
47.6 一个例子:AudioPlayer系统 833
47.7 增加宏命令功能 839
47.8 模式的实现 841
47.9 在什么情况下应当使用命令模式 842
47.11 命令模式与其他模式的关系 843
47.10 使用命令模式的优点和缺点 843
第48章 专题:Swing库中的命令撤销和恢复 853
48.1 在视窗系统中使用命令模式 853
48.2 Swing的基本撤销功能 853
48.3 一休论禅的文字框 861
第49章 备忘录(Memento)模式 869
49.1 备忘录模式的结构 869
49.2 备忘录模式的白箱实现 870
49.3 双重接口及其在Java语言中的实现 875
49.4 备忘录模式的黑箱实现 878
49.5 负责人角色的增强 883
49.6 备忘录模式与多重检查点 884
49.7 “自述历史”模式 890
49.8 “假如”协议模式 894
49.9 备忘录模式与其他模式的关系 895
49.10 备忘录模式的应用 896
49.11 使用备忘录模式的优点和缺点 898
49.12 观世音甘泉活树的故事 899
第50章 状态(State)模式 907
50.1 引言 907
50.2 状态模式的结构 907
50.3 曾侯乙编钟的描述 909
50.4 状态模式的效果 910
50.5 在什么情况下使用状态模式 911
50.6 关于模式实现的讨论 911
50.7 一个状态模式的应用例子:TCP 912
50.8 状态模式在绘图软件中的应用 914
50.9 用户登录子系统 915
50.10 状态模式与策略模式的区别 921
第51章 专题:崂山道士与状态模式 923
51.1 有状态的墙 923
51.2 异常逻辑 923
51.3 从代码重构的角度考察 924
第52章 专题:单分派和多分派 929
52.1 分派的概念 929
52.2 双重分派 933
52.3 未来的Java语言 940
第53章 访问者(Visitor)模式 945
53.1 引言 945
53.2 访问者模式的结构 947
53.3 系统的时序图 953
53.4 在什么情况下应当使用访问者模式 954
53.5 使用访问者模式的优点和缺点 955
53.6 访问者模式的实现 956
53.7 电脑专卖系统:问题与对象 960
53.8 电脑专卖系统的访问者模式设计 962
53.9 与访问者模式有关的模式 976
第54章 解释器(Interpreter)模式 979
54.1 引言 979
54.2 解释器模式的结构 980
54.3 一个示意性的实现 981
54.4 有关模式 991
55.1 引言 993
第55章 调停者(Mediator)模式 993
55.2 调停者模式的结构 996
55.3 调停者模式的实现 1001
55.4 迪米特法则(LoD) 1002
55.5 调停者模式的优点和缺点 1002
55.6 调停者模式的使用条件 1003
55.7 与调停者模式有关的模式 1004
附录A 设计模式一览表 1007
A.1 创建模式 1007
A.2 结构模式 1009
A.3 行为模式 1011
附录B UML图标及其Java实现一览表 1015
附录C 中英术语对照表 1017
- 《知识管理背景下的档案管理模式》曾祯,金瑞,王聪颖著 2019
- 《海河干流水环境质量与经济发展模式研究》于航白景峰,张春意 2019
- 《互联网+时代的日语教学模式探究》郭晓雪著 2019
- 《北京模式》吴建繁,王德海,朱岩编 2017
- 《高校教学模式创新与实践研究 2017年》何聚厚 2019
- 《地方政府经济行为模式与经济增长》(中国)徐艳飞 2019
- 《创新人才培养模式 培养拔尖创新人才》杨继主编 2019
- 《韶山红色旅游发展的创新模式研究》刘建平 2020
- 《巴丹吉林沙漠的水文地质条件及地下水循环模式》(中国)王旭升 2019
- 《移动互联网时代文化产业商业模式》陈少峰 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017