图书介绍
代码重构 C#&ASP.NET版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)阿瑟诺维斯基著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302255550
- 出版时间:2011
- 标注页数:498页
- 文件大小:104MB
- 文件页数:515页
- 主题词:C语言-程序设计;网页制作工具-程序设计
PDF下载
下载说明
代码重构 C#&ASP.NET版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 重构的全面介绍1
1.1 重构的快速浏览1
1.1.1 重构过程2
1.1.2 软件开发现状概述3
1.2 重构过程的详细介绍5
1.2.1 代码味道的使用5
1.2.2 代码转换5
1.2.3 使重构的转换自动化6
1.2.4 重构的优点7
1.2.5 澄清一些常见的误解10
1.3 没有孤军奋战的编程人员18
1.4 C#和重构20
1.5 小结20
第2章 重构的初次体验23
2.1 示例应用程序:Calories Calculator23
2.1.1 具有计算推荐每日卡路里量功能的Calories Calculator应用程序24
2.1.2 需求的增长:计算理想的体重26
2.1.3 需求的增长:病人数据的持久化29
2.2 重构实战30
2.2.1 将btnCalculate_Click方法分解31
2.2.2 计算并显示实际体重和理想体重之间差距的片段32
2.2.3 按性别计算卡路里和理想的体重33
2.2.4 经过方法提取之后的btnCalculate_Click方法34
2.2.5 发现新的类35
2.2.6 缩小Patient类的接口37
2.2.7 重新构建DistanceFromIdealWeight方法40
2.2.8 创建Patient类的层次结构43
2.3 持久化功能的实现48
2.3.1 保存数据48
2.3.2 实现显示病人历史信息的功能57
2.4 Calories Calculator的重构版本62
2.5 小结63
第3章 组建重构工具箱65
3.1 使用自动化的重构工具66
3.1.1 JetBrains提供的ReSharper66
3.1.2 Developer Express提供的Refactor!Pro67
3.1.3 Developer Express提供的Refactor!for ASP67
3.1.4 Visual Studio的重构功能68
3.2 单元测试的基本要素:测试用具70
3.2.1 单元测试架构出现的原因71
3.2.2 NUnit的初体验73
3.2.3 NUnit的安装73
3.2.4 使用示例74
3.2.5 实现第一个测试75
3.2.6 测试驱动的方法83
3.2.7 可考虑的其他测试工具84
3.3 关于版本控制的一些问题86
3.3.1 作为备份系统的版本控制86
3.3.2 版本控制和并发86
3.4 小结87
第4章 应用程序的原型:Rent-a-Wheels89
4.1 会见客户90
4.1.1 会见经理90
4.1.2 会见前台接待员91
4.1.3 会见停车场服务员91
4.1.4 会见维护人员92
4.2 实施Rent-a-Wheels项目中最初的步骤92
4.2.1 参与者和用例92
4.2.2 汽车的状态94
4.2.3 应用程序主窗口的第一次草图96
4.2.4 Rent-a-Wheels开发团队的会议96
4.3 让原型运转97
4.3.1 检查数据库模型97
4.3.2 检查C#代码99
4.4 快速的编程方法102
4.4.1 数据库驱动的设计103
4.4.2 基于GUI的应用程序103
4.4.3 事件驱动的编程104
4.4.4 快速应用程序开发104
4.4.5 将复制粘贴作为代码重用的机制104
4.4.6 通过重构过程从原型到最后交付105
4.5 小结105
第5章 基本的代码清理107
5.1 消除无用代码107
5.1.1 无用代码的类型108
5.1.2 无用代码常见的来源110
5.2 降低过度暴露的元素的作用域和访问级别114
5.2.1 作用域和访问级别116
5.2.2 过度暴露常见的来源117
5.2.3 处理过度暴露的问题120
5.3 使用显式导入121
5.4 删除未使用的程序集引用124
5.5 Rent-a-Wheels应用程序中的基本清理工作125
5.6 小结125
第6章 从问题域到代码:消除差距127
6.1 理解问题域128
6.1.1 第1步:收集信息128
6.1.2 第2步:就词汇表达成一致意见129
6.1.3 第3步:描述交互作用130
6.1.4 第4步:建立原型130
6.2 命名的指导原则131
6.2.1 大写风格132
6.2.2 简单的命名指导原则132
6.2.3 良好的沟通:选择恰当的单词134
6.2.4 “重命名”重构137
6.2.5 Visual Studio中的“重命名”重构139
6.3 已发布接口和公有接口141
6.3.1 自包含的应用程序与可重用的模块142
6.3.2 修改已发布接口145
6.4 Rent-a-Wheels应用程序中的“重命名”和“安全重命名”重构150
6.5 小结150
第7章 对重复代码进行方法提取153
7.1 封装代码和隐藏细节153
7.2 分解方法157
7.2.1 周长计算——长方法的一个示例157
7.2.2 提取周长计算的代码159
7.2.3 提取计算半径的代码162
7.2.4 提取“等待用户关闭”代码163
7.2 5 提取读取坐标的代码163
7.2.6 Visual Studio中的Extract Method重构167
7.3 方法内联化169
7.4 重复代码的味道172
7.4.1 重复代码的来源173
7.4.2 复制/粘贴式编程173
7.4.3 幻数174
7.5 Rent-a-Wheels应用程序中的“提取方法”和“用常量取代幻数”重构176
7.6 小结177
第8章 方法合并与方法提取的技术179
8.1 临时变量的处理179
8.1.1 “将声明靠近引用处”重构180
8.1.2 “将初始化移至声明处”重构182
8.1.3 “拆分临时变量”重构184
8.1.4 “临时变量内联化”重构188
8.1.5 “用查询取代临时变量”重构190
8.1.6 引入解释性的临时变量192
8.2 处理长条件和嵌套条件193
8.3 方法重组与Rent-a-Wheels196
8.3.1 删除Rent-a-Wheels中的重复代码198
8.3.2 Rent-a-Wheels中的“幻数”、“注释”以及“事件处理盲目性”味道202
8.4 小结207
第9章 发现对象209
9.1 面向对象编程的简单回顺210
9.1.1 OOP中的对象210
9.1.2 封装与对象210
9.1.3 Visual Studio中的“封装字段”重构212
9.1.4 对象状态的保持213
9.1.5 类214
9.1.6 对象标识215
9.1.7 作为基本构建块的对象216
9.1.8 根对象216
9.1.9 对象的生存期和垃圾回收217
9.2 类的设计218
9.2.1 使用分析产物219
9.2.2 类是名词,操作是动词222
9.2.3 类、责任和协作者226
9.2.4 在头脑风暴会议中运用卡片231
9.2.5 实体和关系234
9.3 发现隐藏的类235
9.3.1 处理数据库驱动的设计235
9.3.2 从过程式设计到面向对象设计的转移239
9.3.3 领域层、表示层和持久化层的分离246
9 3.4 发现对象与Rent-a-Wheels应用程序251
9.4 小结260
第10章 面向对象的高级概念和相关的重构261
10.1 继承、多态性和泛型261
10.1.1 继承262
10.1.2 类继承与接口继承265
10.1.3 多态性266
10.1.4 泛型269
10.2 继承的滥用和重构解决方案271
10.2.1 误用为继承的组合和其他误用情形274
10.2.2 继承的重构——打印系统的示例281
10.2.3 用委托替代打印系统中的继承287
10.3 泛型的使用300
10.4 Rent-a-Wheels应用程序中的继承和泛型304
10.4.1 提取超类304
10.4.2 运用泛型305
10.4.3 提取DataObjectsProvider类306
10.5 小结310
第11章 大规模的代码组织313
11.1 命名空间313
11.1.1 命名指导原则与命名空间的组织313
11.1.2 嵌套的命名空间314
11.1.3 修改默认命名空问的名称314
11.1.4 使用using指令315
11.2 程序集316
11.2.1 二进制重用317
11.2.2 命名空间组织的指导原则319
11.2.3 依赖性方面的考虑323
11.3 C#项目文件的结构组织331
11.4 Rent-a-Wheels中命名空间的组织与Windows窗体继承338
11.4.1 通过抽象窗体辅助类模式提取父管理窗体338
11.4.2 命名空间和程序集的重组346
11.5 小结347
第12章 重构为模式349
12.1 什么是设计模式349
12.1.1 设计模式的定义350
12.1.2 模式的分类351
12.1.3 模式的元素351
12.1.4 权衡设计模式的利弊352
12.1.5 模式的使用352
12.2 设计模式的示例:抽象工厂模式352
12.2.1 抽象工厂模式的使用353
12.2.2 解决方案362
12.2.3 结果365
12.3 依赖注入模式367
12.3.1 使用依赖注入的问题368
12.3.2 解决方案370
12.3.3 基于构造函数的注入与基于属性的注入371
12.3.4 应该注入什么服务实现371
12.3.5 DI模式的优点373
12.3.6 重构成DI375
12.4 重构成模式与Rent-a-Wheels应用程序375
12.4.1 消除重复.NET架构功能的代码376
12.4.2 通过依赖注入向GUI类中注入Data类376
12.4.3 CRUD持久化模式380
12.5 小结380
第13章 LINQ和C#3.0的其他增强功能381
13.1 局部变量的类型推断381
13.1.1 白动实现的属性383
13.1.2 扩展方法385
13.1.3 对象、数组和集合的初始化器392
13.1.4 通过LINQ查询对象393
13.1.5 旧示例换新颜397
13.1.6 通过LINQto SQL进行对象-关系映射404
13.1.7 LINQ与Rent-a-Wheels应用程序408
13.2 小结417
第14章 Web技术简史与ASP.NET重构工具419
14.1 Refactor!for ASP.NET420
14.1.1 调用Refactor!forASp.NET420
14.1.2 Refactor!for ASP.NET的用户界面422
14.2 HTML的历史及其遗留问题427
14.3 紧跟Web434
14.3.1 Visual Studio和XHTML435
14.3.2 XML和编码436
14.3.3 Visual Studio中HTML的DTD验证437
14.3.4 提供严格的XHTML438
14.4 小结439
第15章 ASP.NET应用程序的重构441
15.1 HTML的重构441
15.1.1 格式完整的XHTML文档441
15.1.2 XHTML的有效性444
15.1.3 用于升级遗留的、非遵从XHTML的标记的工具支持446
15.1.4 以优美的格式打印HTML文档446
15.1.5 将结构与表示分离448
15.1.6 通过REST来使用HTTP454
15.2 ASP.NET代码的重构459
15.2.1 ASP.NET代码模型:单文件和代码隐藏459
15.2.2 母版页面463
15.2.3 Web用户控件与自定义的服务器控件467
15.3 Rent-a-Wheels与ASP.NET重构472
15.4 小结475
附录A Rent-a-Wheels原型的内部机理477
附录B Refactor! for ASP.NET揭密497
热门推荐
- 1832364.html
- 1144599.html
- 2010838.html
- 2851520.html
- 1675429.html
- 3441292.html
- 1890831.html
- 1619114.html
- 1593504.html
- 830768.html
- http://www.ickdjs.cc/book_2855558.html
- http://www.ickdjs.cc/book_3102036.html
- http://www.ickdjs.cc/book_891288.html
- http://www.ickdjs.cc/book_2728458.html
- http://www.ickdjs.cc/book_2455768.html
- http://www.ickdjs.cc/book_340616.html
- http://www.ickdjs.cc/book_483642.html
- http://www.ickdjs.cc/book_1070644.html
- http://www.ickdjs.cc/book_2529082.html
- http://www.ickdjs.cc/book_1531734.html