C#敏捷开发实践

C#敏捷开发实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [英] (Gary,McLean,Hall) ,
2016-07
版次: 1
ISBN: 9787115427892
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 334页
正文语种: 简体中文
21人买过
  • 本书共分为敏捷基础、编写SOLID代码和自适应实例三大部分,将理论与实践相结合,介绍了当前使用Microsoft .NET Framework进行C#编程的杰出实践,详尽探讨了C#开发人员如何应用Scrum等敏捷方案实现高质量、自适应的代码,并给出大量代码示例,是.NET中高级程序员进阶的实用指南。 Gary McLean Hall 



    Microsoft .NET Framework开发大师,特别擅长设计模式和业内的杰出实践。多年来,他参加过很多致力于创造自适应代码的敏捷团队,为诸如Eidos、Xerox、Nephila Capital和LateRooms Group等公司工作过。近几年,他在运营自己的软件顾问公司。在每个工作岗位上,他都能够非常出色地做到:在按时交付软件产品的同时保证产品源代码的高质量。 



    许顺强 



    本科和硕士毕业于南京航空航天大学机电学院航空宇航制造工程专业,2006年毕业后任教于西安空军工程大学飞行器动力工程系,两年后加入联想深圳研发实验室从事ThinkPad系列软件研发工作至今。工作方面的主要兴趣点有设备互联和网络传输等软件技术领域,以及Scrum和XP等敏捷软件开发过程。推崇易懂易测、整洁优美的软件代码。 第一部分 敏捷基础

    第1章 Scrum介绍 3

    1.1 Scrum与瀑布 4

    1.2 角色和职责 6

    1.2.1 产品负责人 7

    1.2.2 Scrum主管 7

    1.2.3 开发团队 8

    1.2.4 “猪”和“鸡” 8

    1.3 工件 9

    1.3.1 Scrum面板 9

    1.3.2 图表和度量标准 20

    1.3.3 积压工作 24

    1.4 冲刺 25

    1.4.1 发布计划会议 26

    1.4.2 冲刺计划会议 26

    1.4.3 每日站立会议 28

    1.4.4 冲刺演示会议 29

    1.4.5 冲刺回顾会议 30

    1.4.6 Scrum日历 31

    1.5 Scrum和敏捷的问题 32

    1.6 总结 36

    第2章 依赖和分层 37

    2.1 依赖的定义 38

    2.1.1 一个简单的例子 38

    2.1.2 使用有向图对依赖建模 44

    2.2 依赖管理 48

    2.2.1 实现与接口 48

    2.2.2 new代码味道 49

    2.2.3 对象构造的替代方法 52

    2.2.4 随从反模式 54

    2.2.5 阶梯模式 56

    2.2.6 依赖解析 57

    2.2.7 使用NuGet管理依赖 67

    2.3 分层 70

    2.3.1 常见的模式 71

    2.3.2 纵切关注点 76

    2.3.3 非对称分层 77

    2.4 总结 79

    第3章 接口和设计模式 80

    3.1 接口是什么 80

    3.1.1 语法 80

    3.1.2 显式实现 83

    3.1.3 多态 87

    3.2 自适应设计模式 88

    3.2.1 空对象模式 88

    3.2.2 适配器模式 94

    3.2.3 策略模式 96

    3.3 更多形式 98

    3.3.1 鸭子类型 98

    3.3.2 混合类型 102

    3.3.3 流接口 106

    3.4 总结 108

    第4章 单元测试和重构 109

    4.1 单元测试 109

    4.1.1 布置、动作和断言 110

    4.1.2 测试驱动开发 113

    4.1.3 更复杂的测试 118

    4.2 重构 131

    4.2.1 更改已有代码 131

    4.2.2 一个新的账户类型 139

    4.3 总结 144

    第二部分 编写SOLID代码

    第5 章 单一职责原则 147

    5.1 问题描述 147

    5.1.1 重构清晰度 150

    5.1.2 重构抽象 153

    5.2 单一职责原则和修饰器模式 160

    5.2.1 复合模式 162

    5.2.2 谓词修饰器 165

    5.2.3 分支修饰器 168

    5.2.4 延迟修饰器 169

    5.2.5 日志记录修饰器 170

    5.2.6 性能修饰器 172

    5.2.7 异步修饰器 175

    5.2.8 修饰属性和事件 177

    5.3 用策略模式替代switch语句 178

    5.4 总结 180

    第6章 开放与封闭原则 181

    6.1 开放与封闭原则介绍 181

    6.1.1 Meyer的定义 181

    6.1.2 Martin的定义 181

    6.1.3 缺陷修复 182

    6.1.4 客户端感知 182

    6.2 扩展点 183

    6.2.1 没有扩展点的代码 183

    6.2.2 虚方法 184

    6.2.3 抽象方法 184

    6.2.4 接口继承 185

    6.2.5 “为继承设计或禁止继承” 186

    6.3 防止变异 186

    6.3.1 可预见的变化 187

    6.3.2 一个稳定的接口 187

    6.3.3 足够的自适应能力 187

    6.4 总结 188

    第7章 Liskov替换原则 189

    7.1 Liskov替换原则介绍 189

    7.1.1 正式定义 189

    7.1.2 Liskov替换原则的规则 190

    7.2 契约 190

    7.2.1 前置条件 192

    7.2.2 后置条件 193

    7.2.3 数据不变式 194

    7.2.4 Liskov契约规则 195

    7.2.5 代码契约 201

    7.3 协变和逆变 208

    7.3.1 定义 208

    7.3.2 Liskov类型系统规则 213

    7.4 总结 216

    第8章 接口分离原则 217

    8.1 一个分离接口的示例 217

    8.1.1 一个简单的CRUD接口 217

    8.1.2 缓存 223

    8.1.3 多重接口修饰 226

    8.2 客户端构建 228

    8.2.1 多实现、多实例 229

    8.2.2 单实现、单实例 231

    8.2.3 超级接口反模式 232

    8.3 接口分离 233

    8.3.1 客户端需要 233

    8.3.2 架构需要 239

    8.3.3 单方法接口 243

    8.4 总结 244

    第9章 依赖注入原则 245

    9.1 简单的开始 245

    9.1.1 任务列表应用 248

    9.1.2 对象图的构建 250

    9.1.3 控制反转 254

    9.2 比较复杂的注入 267

    9.2.1 服务定位器反模式 267

    9.2.2 非法注入 270

    9.2.3 组合根 272

    9.2.4 约定优于配置 277

    9.3 总结 280

    第三部分 自适应实例

    第10章 自适应实例简介 284

    10.1 Trey Research公司 284

    10.1.1 团队 284

    10.1.2 产品 286

    10.2 最初的产品积压工作 287

    10.2.1 从描述中挖掘故事 287

    10.2.2 故事点估算 288

    10.3 总结 292

    第11章 自适应实例冲刺1 293

    11.1 计划会议 293

    11.2 “我想创建多个房间以对会话进行分类” 295

    11.2.1 控制器 295

    11.2.2 房间存储库 299

    11.3 “我想查看代表会话的房间的列表” 303

    11.4 “我想查看发送到一个房间内的消息” 307

    11.5 “我想给房间内的其他成员发送纯文本消息” 309

    11.6 演示会议 311

    11.7 回顾会议 311

    11.7.1 什么做得比较好 312

    11.7.2 什么做得不太好 312

    11.7.3 什么需要改变 313

    11.7.4 什么需要保持 314

    11.7.5 遇到了什么意料之外的事情 314

    11.8 总结 315

    第12章 自适应实例冲刺2 316

    12.1 计划会议 316

    12.2 “我想发送正确格式化的标记” 317

    12.3 “我想过滤消息内容以确保它是适合发表的” 321

    12.4 “我想同时服务数百个用户” 323

    12.5 演示会议 325

    12.6 回顾会议 326

    12.6.1 什么做得比较好 326

    12.6.2 什么做得不太好 327

    12.6.3 什么需要改变 327

    12.6.4 什么需要保持 327

    12.6.5 遇到了什么意料之外的事情 327

    12.7 总结 328

    附录 自适应工具 329
  • 内容简介:
    本书共分为敏捷基础、编写SOLID代码和自适应实例三大部分,将理论与实践相结合,介绍了当前使用Microsoft .NET Framework进行C#编程的杰出实践,详尽探讨了C#开发人员如何应用Scrum等敏捷方案实现高质量、自适应的代码,并给出大量代码示例,是.NET中高级程序员进阶的实用指南。
  • 作者简介:
    Gary McLean Hall 



    Microsoft .NET Framework开发大师,特别擅长设计模式和业内的杰出实践。多年来,他参加过很多致力于创造自适应代码的敏捷团队,为诸如Eidos、Xerox、Nephila Capital和LateRooms Group等公司工作过。近几年,他在运营自己的软件顾问公司。在每个工作岗位上,他都能够非常出色地做到:在按时交付软件产品的同时保证产品源代码的高质量。 



    许顺强 



    本科和硕士毕业于南京航空航天大学机电学院航空宇航制造工程专业,2006年毕业后任教于西安空军工程大学飞行器动力工程系,两年后加入联想深圳研发实验室从事ThinkPad系列软件研发工作至今。工作方面的主要兴趣点有设备互联和网络传输等软件技术领域,以及Scrum和XP等敏捷软件开发过程。推崇易懂易测、整洁优美的软件代码。
  • 目录:
    第一部分 敏捷基础

    第1章 Scrum介绍 3

    1.1 Scrum与瀑布 4

    1.2 角色和职责 6

    1.2.1 产品负责人 7

    1.2.2 Scrum主管 7

    1.2.3 开发团队 8

    1.2.4 “猪”和“鸡” 8

    1.3 工件 9

    1.3.1 Scrum面板 9

    1.3.2 图表和度量标准 20

    1.3.3 积压工作 24

    1.4 冲刺 25

    1.4.1 发布计划会议 26

    1.4.2 冲刺计划会议 26

    1.4.3 每日站立会议 28

    1.4.4 冲刺演示会议 29

    1.4.5 冲刺回顾会议 30

    1.4.6 Scrum日历 31

    1.5 Scrum和敏捷的问题 32

    1.6 总结 36

    第2章 依赖和分层 37

    2.1 依赖的定义 38

    2.1.1 一个简单的例子 38

    2.1.2 使用有向图对依赖建模 44

    2.2 依赖管理 48

    2.2.1 实现与接口 48

    2.2.2 new代码味道 49

    2.2.3 对象构造的替代方法 52

    2.2.4 随从反模式 54

    2.2.5 阶梯模式 56

    2.2.6 依赖解析 57

    2.2.7 使用NuGet管理依赖 67

    2.3 分层 70

    2.3.1 常见的模式 71

    2.3.2 纵切关注点 76

    2.3.3 非对称分层 77

    2.4 总结 79

    第3章 接口和设计模式 80

    3.1 接口是什么 80

    3.1.1 语法 80

    3.1.2 显式实现 83

    3.1.3 多态 87

    3.2 自适应设计模式 88

    3.2.1 空对象模式 88

    3.2.2 适配器模式 94

    3.2.3 策略模式 96

    3.3 更多形式 98

    3.3.1 鸭子类型 98

    3.3.2 混合类型 102

    3.3.3 流接口 106

    3.4 总结 108

    第4章 单元测试和重构 109

    4.1 单元测试 109

    4.1.1 布置、动作和断言 110

    4.1.2 测试驱动开发 113

    4.1.3 更复杂的测试 118

    4.2 重构 131

    4.2.1 更改已有代码 131

    4.2.2 一个新的账户类型 139

    4.3 总结 144

    第二部分 编写SOLID代码

    第5 章 单一职责原则 147

    5.1 问题描述 147

    5.1.1 重构清晰度 150

    5.1.2 重构抽象 153

    5.2 单一职责原则和修饰器模式 160

    5.2.1 复合模式 162

    5.2.2 谓词修饰器 165

    5.2.3 分支修饰器 168

    5.2.4 延迟修饰器 169

    5.2.5 日志记录修饰器 170

    5.2.6 性能修饰器 172

    5.2.7 异步修饰器 175

    5.2.8 修饰属性和事件 177

    5.3 用策略模式替代switch语句 178

    5.4 总结 180

    第6章 开放与封闭原则 181

    6.1 开放与封闭原则介绍 181

    6.1.1 Meyer的定义 181

    6.1.2 Martin的定义 181

    6.1.3 缺陷修复 182

    6.1.4 客户端感知 182

    6.2 扩展点 183

    6.2.1 没有扩展点的代码 183

    6.2.2 虚方法 184

    6.2.3 抽象方法 184

    6.2.4 接口继承 185

    6.2.5 “为继承设计或禁止继承” 186

    6.3 防止变异 186

    6.3.1 可预见的变化 187

    6.3.2 一个稳定的接口 187

    6.3.3 足够的自适应能力 187

    6.4 总结 188

    第7章 Liskov替换原则 189

    7.1 Liskov替换原则介绍 189

    7.1.1 正式定义 189

    7.1.2 Liskov替换原则的规则 190

    7.2 契约 190

    7.2.1 前置条件 192

    7.2.2 后置条件 193

    7.2.3 数据不变式 194

    7.2.4 Liskov契约规则 195

    7.2.5 代码契约 201

    7.3 协变和逆变 208

    7.3.1 定义 208

    7.3.2 Liskov类型系统规则 213

    7.4 总结 216

    第8章 接口分离原则 217

    8.1 一个分离接口的示例 217

    8.1.1 一个简单的CRUD接口 217

    8.1.2 缓存 223

    8.1.3 多重接口修饰 226

    8.2 客户端构建 228

    8.2.1 多实现、多实例 229

    8.2.2 单实现、单实例 231

    8.2.3 超级接口反模式 232

    8.3 接口分离 233

    8.3.1 客户端需要 233

    8.3.2 架构需要 239

    8.3.3 单方法接口 243

    8.4 总结 244

    第9章 依赖注入原则 245

    9.1 简单的开始 245

    9.1.1 任务列表应用 248

    9.1.2 对象图的构建 250

    9.1.3 控制反转 254

    9.2 比较复杂的注入 267

    9.2.1 服务定位器反模式 267

    9.2.2 非法注入 270

    9.2.3 组合根 272

    9.2.4 约定优于配置 277

    9.3 总结 280

    第三部分 自适应实例

    第10章 自适应实例简介 284

    10.1 Trey Research公司 284

    10.1.1 团队 284

    10.1.2 产品 286

    10.2 最初的产品积压工作 287

    10.2.1 从描述中挖掘故事 287

    10.2.2 故事点估算 288

    10.3 总结 292

    第11章 自适应实例冲刺1 293

    11.1 计划会议 293

    11.2 “我想创建多个房间以对会话进行分类” 295

    11.2.1 控制器 295

    11.2.2 房间存储库 299

    11.3 “我想查看代表会话的房间的列表” 303

    11.4 “我想查看发送到一个房间内的消息” 307

    11.5 “我想给房间内的其他成员发送纯文本消息” 309

    11.6 演示会议 311

    11.7 回顾会议 311

    11.7.1 什么做得比较好 312

    11.7.2 什么做得不太好 312

    11.7.3 什么需要改变 313

    11.7.4 什么需要保持 314

    11.7.5 遇到了什么意料之外的事情 314

    11.8 总结 315

    第12章 自适应实例冲刺2 316

    12.1 计划会议 316

    12.2 “我想发送正确格式化的标记” 317

    12.3 “我想过滤消息内容以确保它是适合发表的” 321

    12.4 “我想同时服务数百个用户” 323

    12.5 演示会议 325

    12.6 回顾会议 326

    12.6.1 什么做得比较好 326

    12.6.2 什么做得不太好 327

    12.6.3 什么需要改变 327

    12.6.4 什么需要保持 327

    12.6.5 遇到了什么意料之外的事情 327

    12.7 总结 328

    附录 自适应工具 329
查看详情
系列丛书 / 更多
C#敏捷开发实践
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
C#敏捷开发实践
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
C#敏捷开发实践
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
C#敏捷开发实践
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
C#敏捷开发实践
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
C#敏捷开发实践
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
C#敏捷开发实践
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
C#敏捷开发实践
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
C#敏捷开发实践
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
C#敏捷开发实践
图解HTTP
[日]上野·宣 著;于均良 译
C#敏捷开发实践
算法图解
袁国忠 译
C#敏捷开发实践
Objective-C基础教程 第2版
[美]Scott、[美]Waqar、[美]Mark Dalrymple 著;周庆成 译
相关图书 / 更多
C#敏捷开发实践
C#图书馆自动化技术与应用
于源 著
C#敏捷开发实践
C#从入门到精通(第7版)
明日科技
C#敏捷开发实践
C#程序设计实验指导与习题测试(第4版)
余青松;江红
C#敏捷开发实践
C#开发案例精粹
明日科技
C#敏捷开发实践
C#网络应用编程(第4版 微课版)
马骏 韩道军
C#敏捷开发实践
C#编程开发实战(微课视频版)
郭佳佳;涂振;陈林
C#敏捷开发实践
C#可视化程序设计案例教程 第5版
刘培林 史荧中 刘贵锋
C#敏捷开发实践
C# 11和.NET 7入门与跨平台开发(第7版)
(美) 马克·J. 普莱斯(Mark J. Price) 著 叶伟民 译
C#敏捷开发实践
C#上位机开发一本通
黄伟 著
C#敏捷开发实践
C#项目开发实战(微视频版)
扶松柏
C#敏捷开发实践
C#.NET项目开发案例教程(微课视频版)
陈建国;王莹;张锦;王如龙
C#敏捷开发实践
C#程序设计
崔舒宁
您可能感兴趣 / 更多
C#敏捷开发实践
福柯最后十年 《性史》计划的产生与转变 作者 :【英】斯图尔特·埃尔登 文津出版社 ISBN: 9787805548807 鲍磊、刘北成 译
[英]斯图尔特·埃尔登
C#敏捷开发实践
重启吧!我的健康人生:休息 + 饮食 + 运动 + 睡眠,风靡全球的4项健康微习惯打卡计划
[英]兰根·查特吉 博士(Dr Rangan Chatterjee) 著;王琳 译;[英]苏珊·贝尔(Susan Bell) 摄影
C#敏捷开发实践
《从天而降》2024百班千人暑期书目小学生1年级名师推荐全新正版现货速发
[英]克里斯·奈勒-巴列斯特罗斯
C#敏捷开发实践
心世界-天生不理性(如何识别无处不在的非理性陷阱)
[英]斯图尔特·萨瑟兰
C#敏捷开发实践
第二次世界大战战史(平装)利德尔哈特 二战世界战争史 军事历史书籍
[英]利德尔·哈特 后浪
C#敏捷开发实践
新民说·诗歌小史
[英]约翰·凯里,新民说出品
C#敏捷开发实践
查泰莱夫人的情人(特装刷边珍藏版,原著未删节全译本。轰动世界的情爱经典,定制异形函套,附赠精美藏书票)
[英]戴维·赫伯特·劳伦斯
C#敏捷开发实践
生成学习策略/新学习/新教学译丛
[英]马克·恩舍(Mark Enser) 著;[英]佐伊·恩舍(Zoe Enser)
C#敏捷开发实践
如何驱动一座核反应堆
[英]科林·塔克 后浪
C#敏捷开发实践
宇宙体系(精装典藏版) 世界科普名著经典译丛
[英]牛顿
C#敏捷开发实践
不断晋升:识别晋升“拦路虎”,实现事业持续进阶(精装典藏版) 企鹅管理能力提升“口袋课“
[英]尼亚姆·奥基夫(Niamh O’Keeffe)
C#敏捷开发实践
DK影像博物馆:摄影名作全景导读
[英]汤姆·昂