图书介绍
代码重构 Visual Basic版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)DANIJELARSENOVSKI著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302200840
- 出版时间:2009
- 标注页数:486页
- 文件大小:87MB
- 文件页数:504页
- 主题词:BASIC语言-程序设计
PDF下载
下载说明
代码重构 Visual Basic版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第I部分 重构的介绍3
第1章 重构的全面介绍3
1.1 重构的快速浏览3
1.1.1 重构过程4
1.1.2 软件行业现状概述5
1.2 重构过程的详细介绍7
1.2.1 代码味道的使用7
1.2.2 代码的转换7
1.2.3 重构的优点9
1.2.4 澄清一些常见的误解11
1.3 Visual Basic和重构13
1.3.1 Visual Basic的发展史和遗留问题13
1.3.2 Visual Basic的演变14
1.3.3 通过重构处理遗留的问题15
1.4 小结16
第2章 重构的初体验17
2.1 Calories Calculator样本应用程序17
2.1.1 Calories Calculator应用程序18
2.1.2 需求的增长:计算理想的体重20
2.1.3 需求的增长:保存病人的数据22
2.2 运用中的重构23
2.2.1 将BtnCalculate_Click方法分解24
2.2.2 发现新的类27
2.2.3 限制Patient类的接口30
2.2.4 将条件逻辑放到Patient类中32
2.2.5 创建Patient类的层次结构35
2.3 保存功能的实现41
2.3.1 保存数据41
2.3.2 实现显示病人历史信息的功能49
2.4 Calories Calculator重构过的版本53
2.5 小结55
第3章 组建重构的工具箱57
3.1 使用自动化的重构工具58
3.1.1 JetBrains提供的ReSharper58
3.1.2 Whole Tomato提供的Visual AssistX59
3.1.3 Developer Express提供的Refactor!Pro59
3.1.4 从Refactor!开始入手59
3.1.5 进一步探讨VB用户界面的Refactor!61
3.1.6 快速浏览:可供使用的重构65
3.2 单元测试的基本内容:测试的护具66
3.2.1 单元测试架构的出现67
3.2.2 NUnit的初体验69
3.2.3 NUnit的安装69
3.2.4 第一个测试的实现71
3.2.5 测试驱动的方法78
3.2.6 需要考虑的其他测试工具79
3.3 关于版本控制的一些问题81
3.4 小结81
第4章 Rent-a-Wheels应用程序的原型83
4.1 会见客户84
4.1.1 会见经理84
4.1.2 会见前台接待员85
4.1.3 会见停车场的服务人员85
4.1.4 会见维护人员86
4.2 采取Rent-a-Wheels项目中最初的步骤86
4.2.1 参与者和用例86
4.2.2 汽车的状态88
4.2.3 首次拟定主要的应用程序窗口90
4.2.4 Rent-a-Wheels开发团队的会议90
4.3 让原型运转91
4.3.1 检查数据库模型91
4.3.2 检查VisualBasic的代码93
4.4 快速而高效的VB编程方法96
4.4.1 数据库驱动的设计97
4.4.2 基于GUI的应用程序97
4.4.3 事件驱动的编程97
4.4.4 快速应用程序开发(RAD)98
4.4.5 复制/粘贴作为代码重用的机制98
4.5 通过重构过程从原型进入到交付99
4.6 小结99
第II部分 VB重构的初步知识103
第5章 Chameleon语言:从静态弱类型化到动态强类型化103
5.1 Option Explicit和Option Strict的.NET影响104
5.2 在不严格的代码中设置Option Explicit On105
5.2.1 理解Set Option Explicit On重构105
5.2.2 将Rent-a-Wheels代码重构成显式的形式108
5.3 在不严格的代码中设置Option Strict On109
5.3.1 一个有点人为的随意的VB代码示例109
5.3.2 通过新变量的定义来解决变量的复杂用法112
5.3.3 推断变量的类型115
5.3.4 通过类型转换函数将所有内容整合在一起118
5.3.5 方法、字段、属性和其他成员的处理120
5.3.6 将Set Option Strict On重构运用到Rent-a-Wheels应用程序中125
5.4 静态类型化对动态类型化及其与VisualBasic的关系127
5.4.1 VisualBasic6及其之前版本中的后期绑定128
5.4.2 类型化129
5.4.3 在文件层次上重设动态行为或静态行为130
5.4.4 为动态代码提供一个静态类型化的封装器131
5.5 激活显式而严格的编译器选项133
5.5.1 在Project Properties窗口中设置选项134
5.5.2 更改VisualBasic编译器的默认行为135
5.5.3 在源文件中设置选项135
5.5.4 使用项模板来设置选项136
5.6 小结137
第6章 错误处理:以一些简单的步骤从传统风格步入到结构化风格139
6.1 传统的错误处理和结构化的错误处理140
6.1.1 传统的(非结构化的)错误处理140
6.1.2 结构化的错误处理142
6.2 结构化错误处理的好处145
6.2.1 结构化的代码和非结构化的代码145
6.2.2 作为类型而不是数字出现的异常145
6.2.3 错误过滤146
6.2.4 Finally代码块146
6.2.5 NET的互操作性147
6.3 用Try-Catch-Finally取代OnError构造147
6.3.1 理解关键字When149
6.3.2 用Try-Catch-Finally替换On Error的重构步骤150
6.3.3 用Try-Catch-Finally构造替换On Error Goto标签151
6.3.4 用Try-Catch-Finally构造替换On Error Resume Next154
6.4 用异常类型替换错误代码155
6.4.1 用异常类型替换系统错误代码158
6.4.2 用异常类型来替换自定义的错误代码159
6.5 Rent-a-Wheels应用程序中的错误处理160
6.6 小结162
第7章 基本的代码卫生:消除无用代码、降低作用域、使用显式导入以及删除不用的引用165
7.1 删除无用代码166
7.1.1 无用代码的类型167
7.1.2 无用代码常见的来源168
7.2 降低过度曝光的元素的作用域和访问级别171
7.2.1 作用域和访问级别173
7.2.2 过度曝光常见的来源174
7.2.3 处理过度曝光的问题178
7.3 使用显式导入179
7.4 删除未使用的程序集引用183
7.5 Rent-a-Wheels应用程序中的基本卫生184
7.6 小结185
第III部分 标准重构转换的初步介绍189
第8章 从问题域到代码:消除差距189
8.1 理解问题域190
8.1.1 第1步:收集信息190
8.1.2 第2步:就词汇表达成一致意见191
8.1.3 第3步:描述交互作用192
8.1.4 第4步:建立原型193
8.2 命名的指导原则193
8.2.1 大写风格194
8.2.2 简单的命名指导原则195
8.2.3 顺畅地传递信息:选择正确的单词196
8.2.4 Rename重构197
8.3 发布接口和公有接口200
8.3.1 自包含的应用程序与可重用的模块200
8.3.2 修改公有接口203
8.3.3 Refactor!中的Safe Rename重构206
8.4 Rent-a-Wheels应用程序中的Rename和Safe Rename重构208
8.5 小结209
第9章 对重复代码进行方法提取211
9.1 保持封装代码和隐藏细节的原因211
9.2 信息和实现的隐藏212
9.3 分解方法214
9.3.1 周长计算―长方法的一个示例215
9.3.2 提取周长计算的代码217
9.3.2 提取计算半径的代码220
9.3.4 提取Wait for User to Close代码220
9.3.5 提取读取坐标的代码220
9.3.6 Refactor!中的Extract Method重构223
9.4 重复代码的味道225
9.4.1 重复代码的来源226
9.4.2 复制/粘贴编程227
9.5 幻数228
9.6 Rent-a-Wheels应用程序中的Extract Method和Replace Magic Literal重构230
9.7 小结231
第10章 方法合并与方法提取的技术233
10.1 临时变量的处理233
10.1.1 Move Declaration Near Reference重构234
10.1.2 Move Initialization to Declaration重构237
10.1.3 Split Temporary Variable重构238
10.1.4 Inline Temp重构242
10.1.5 ReplaceTempwithQuery重构244
10.2 方法重组的试探247
10.3 方法重组与Rent-a-Wheels247
10.3.1 删除Rent-a-Wheels中的重复249
10.3.2 Rent-a-Wheels中的幻数、注释以及事件处理盲区251
10.4 小结255
第Ⅳ部分 高级重构259
第11章 发现对象259
11.1 面向对象编程的快速回顾259
11.1.1 到底什么是对象260
11.1.2 封装与对象260
11.1.3 Refactor!中的Encapsulate Field重构261
11.1.4 对象状态的保持263
11.1.5 类264
11.1.6 对象标识265
11.1.7 作为基本构建块的对象266
11.1.8 根对象266
11.1.9 对象的生存期和垃圾回收267
11.1.10 消息268
11.2 类的设计268
11.2.1 类是名词,操作是动词271
11.2.2 类、责任和协作者275
11.2.3 实体和关系283
11.3 发现隐藏的类284
11.3.1 处理数据库驱动的设计285
11.3.2 从过程化设计到面向对象设计的转移288
11.3.3 保持域、表示和持久化分离294
11.3.4 发现对象和Rent-a-Wheels应用程序300
11.4 小结306
第12章 面向对象的高级概念和相关的重构309
12.1 继承、多态性和泛型309
12.1.1 继承310
12.1.2 多态性315
12.1.3 泛型318
12.2 继承的误用以及重构解决方案319
12.2.1 误用继承的组合和其他误用情形322
12.2.2 继承的重构―打印系统的举例327
12.3 泛型的使用345
12.4 Rent-a-Wheels应用程序中的继承和泛型348
12.4.1 提取超类348
12.4.2 运用泛型349
12.4.3 提取数据对象提供者的类349
12.5 小结354
第13章 大规模的代码组织355
13.1 命名空间355
13.1.1 命名指导原则与命名空间的组织355
13.1.2 嵌套的命名空间356
13.1.3 修改根命名空间的名称356
13.1.4 使用导入语句357
13.2 程序集358
13.2.1 二进制重用358
13.2.2 命名空间组织的指导原则360
13.2.3 依赖性方面的考虑364
13.3 VisualBasic项目文件的结构组织370
13.3.1 Refactor!中的Move Type to File重构371
13.3.2 部分类373
13.3.3 继承窗体373
13.3.4 抽象窗体的继承374
13.3.5 将抽象窗体的工作委托给窗体辅助类375
13.4 Rent-a-Wheels中命名空间的组织与Windows窗体继承377
13.4.1 通过抽象窗体辅助模式的应用程序来提取父管理窗体377
13.4.2 命名空间和程序集的重组384
13.5 小结386
第V部分 重构的运用389
第14章 重构成模式389
14.1 到底什么是设计模式389
14.1.1 设计模式的定义390
14.1.2 模式的分类391
14.1.3 模式的元素391
14.1.4 权衡设计模式的利弊392
14.1.5 模式的使用392
14.2 设计模式的示例:Abstract Factory392
14.2.1 名称393
14.2.2 问题393
14.2.3 解决方案402
14.2.4 后果405
14.3 Dependency Injection模式407
14.3.1 问题407
14.3.2 解决方案410
14.3.3 基于构造函数注入与基于属性注入410
14.3.4 应该注入什么服务实现411
14.3.5 后果412
14.3.6 重构成DI415
14.4 重构成模式以及Rent-a-Wheels应用程序415
14.4.1 消除.NET架构中所提供的重复功能的代码415
14.4.2 通过依赖注入向GUI类中注入Data类416
14.4.3 CRUD持久化模式418
14.5 小结418
第15章 LINQ和VB2008的其他增强功能421
15.1 局部变量的类型推断421
15.2 XML生产能力的增强422
15.2.1 XML字面量422
15.2.2 通过XML轴属性导航XML426
15.2.3 将XML字面量提取到Refactor!中的资源中426
15.3 通过LINQ查询对象427
15.3.1 旧示例换“新颜”430
15.3.2 LINQ to SQL的对象/关系映射433
15.3.3 LINQ和Rent-a-Wheels应用程序436
15.4 小结445
第16章 VB遗留代码的未来447
16.1 是否需要迁移448
16.1.1 迁移不可能是百分之百自动进行的448
16.1.2 VB6和VB.NET代码可以互操作449
16.1.3 迁移工具和库450
16.2 初步的VB6重构451
16.2.1 打破整体化452
16.2.2 条件编译的处理453
16.3 将被迁移的代码放到测试护具中453
16.3.1 引入功能测试护具454
16.3.2 实现功能测试护具454
16.4 遗留代码的升级457
16.4.1 静态严格类型化458
16.4.2 将设计从过程式设计移到面向对象设计的范例中458
16.4.3 引入继承459
16.4.4 利用参数化的构造函数460
16.4.5 将泛型容器用于额外的类型安全460
16.4.6 异常处理的升级462
16.4.7 XML注释的实现462
16.4.8 释放.NET中的资源462
16.5 小结463
附录A Refactor!揭密465
附录B Rent-a-Wheels原型的内部机理和相互联系467
热门推荐
- 239983.html
- 2356369.html
- 1117671.html
- 1047448.html
- 668427.html
- 484777.html
- 2906417.html
- 3215708.html
- 571553.html
- 2304588.html
- http://www.ickdjs.cc/book_1829884.html
- http://www.ickdjs.cc/book_3650508.html
- http://www.ickdjs.cc/book_1475368.html
- http://www.ickdjs.cc/book_1758387.html
- http://www.ickdjs.cc/book_2137399.html
- http://www.ickdjs.cc/book_1319206.html
- http://www.ickdjs.cc/book_913525.html
- http://www.ickdjs.cc/book_2451540.html
- http://www.ickdjs.cc/book_1313614.html
- http://www.ickdjs.cc/book_1175480.html