登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書

『簡體書』Azure、DevOps和微服务软件架构实战(第2版)

書城自編碼: 3818969
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [葡]加布里埃尔·巴普蒂斯特 [意]弗朗西斯科·阿布鲁泽塞著
國際書號(ISBN): 9787302618508
出版社: 清华大学出版社
出版日期: 2023-01-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 147.2

我要買

share:

** 我創建的書架 **
未登入.


新書推薦:
财富方程式
《 财富方程式 》

售價:HK$ 77.3
知识社会史(下卷):从《百科全书》到“在线百科”
《 知识社会史(下卷):从《百科全书》到“在线百科” 》

售價:HK$ 99.7
我读巴芒:永恒的价值
《 我读巴芒:永恒的价值 》

售價:HK$ 132.2
你漏财了:9种逆向思维算清人生这本账
《 你漏财了:9种逆向思维算清人生这本账 》

售價:HK$ 55.8
我们终将老去:认识生命的第二阶段(比利时的“理查德·道金斯”,一位行为生物学家的老年有用论
《 我们终将老去:认识生命的第二阶段(比利时的“理查德·道金斯”,一位行为生物学家的老年有用论 》

售價:HK$ 91.8
谁是窃书之人 日本文坛新锐作家深绿野分著 无限流×悬疑×幻想小说
《 谁是窃书之人 日本文坛新锐作家深绿野分著 无限流×悬疑×幻想小说 》

售價:HK$ 55.8
一个经济杀手的自白 第3版
《 一个经济杀手的自白 第3版 》

售價:HK$ 110.9
8秒按压告别疼痛
《 8秒按压告别疼痛 》

售價:HK$ 87.4

 

編輯推薦:
本书的编写方式与很多技术书籍不同,作者站在架构师的视角,以一个项目的整个生命周期
为主线,向读者展示了如何在云时代设计和实现一款软件,其内容涵盖了从软件架构设计的基本
原则、需求收集、解决方案设计,可选技术架构的选择与分析,应用软件的数据层、逻辑层和展
现层的最佳实践与框架选择一直到构建团队协作平台、持续交付流水线,以及自动化测试。如
果你是一名拥有3-5年软件开发经验的软件开发人员,希望能够成为一名架构师,这本书会对你
非常有帮助。
內容簡介:
软件架构是指可以简化软件开发过程并提高应用程序质量的实现架构和系统。本书在第1版的基础上进行了全面修订和扩展,面向.NET 5和C# 9,介绍了一些能够助你成为一名卓越的软件架构师所需的关键技能、知识和**实践。   第2版增加了对软件架构原则的额外讲述、Azure服务结构、Kubernetes和Blazor等新章节。另外,还增加了关于安全性、微服务和DevOps的讨论,以及软件开发周期的GitHub部署。   首先,介绍如何将用户需求转换为软件架构需求,并探讨功能性需求和非功能性需求之间的差异。然后,探讨如何为基础设施选择云解决方案,以及如何在基于云的环境中管理应用程序。最后,讲解软件设计模式和各种软件方法,从而帮助你解决开发过程中遇到的常见问题。   学习完本书,你将能够构建并交付可满足组织业务需求的高度可扩展的企业应用程序。 主要内容 ● 使用多种技术克服现实工作中的架构挑战,并从设计层面解决问题 ● 应用分层架构、面向服务架构和微服务架构 ● 利用容器、Docker、Kubernetes和Blazor等工具高效管理微服务 ● 快速使用Azure工具和功能提供全局解决方案 ● 使用C# 9及其新功能编程和维护Azure功能 ● 了解什么情况下最适合使用测试驱动开发方法 ● 编写自动化功能测试用例 ● 充分利用DevOps原则实现CI/CD环境
關於作者:
Gabriel Baptista是一名软件架构师,他领导技术团队跨项目使用Microsoft平台完成了多个与零售和工业相关的项目。他是Azure解决方案方面的专家,也是一位讲授软件工程、开发和架构等课程的教授,并出版了一些与计算机相关的书籍。他在知名.NET技术社区网站Microsoft Channel 9上演讲,还与他人一起创办了SMIT公司,主要开展开发解决方案方面的业务,他将DevOps理念视为满足用户需求的关键。
“致我亲爱的家人Murilo、Heitor和Denise,他们经常鼓励我。感谢我的父母Elisabeth和Virgílio,以及我的祖母、外祖母Maria和Lygia,他们一直鼓励我。特别感谢Packt团队,全体成员的辛勤劳动保证了这本书的优秀质量。”
Francesco Abbruzzese是MVC Controls Toolkit和Blazor Controls Toolkit程序库的作者。他从 ASP.NET MVC第一个版本就开始为Microsoft Web技术栈的传播和推广做贡献。他的公司Mvcct Team提供一些与Web技术相关的Web应用程序、工具和服务。他曾从事人工智能系统相关的工作(例如为金融机构实施了首批决策支持系统),后来转型去做电视游戏(如当时排名前10位的Puma Street Soccer)。
“感谢亲爱的父母,我的一切都来自他们。特别感谢Packt全体员工以及为改进本书整体代码质量做出贡献的审稿人员。”
目錄
第1章 软件架构的重要性 1
1.1 什么是软件架构 1
1.2 软件开发过程模型 4
1.2.1 传统的软件开发过程模型 4
1.2.2 敏捷软件开发过程模型 6
1.3 收集正确信息以设计高质量软件 10
1.3.1 了解需求收集过程 10
1.3.2 收集准确的用户需求 10
1.3.3 分析需求 11
1.3.4 将需求整理成规范的文档 11
1.3.5 复核用户需求文档 13
1.4 设计技术 13
1.4.1 设计思维 13
1.4.2 设计冲刺 14
1.5 收集需求阶段就要考虑的常见问题 14
1.5.1 问题1:网站太慢,无法打开网页 14
1.5.2 问题2:用户的需求未得到正确实现 16
1.5.3 问题3:系统会在什么环境使用 17
1.6 World Wild Travel Club案例简介 17
1.7 本章小结 19
1.8 练习题 19
第2章 非功能性需求 21
2.1 技术性要求 21
2.2 使用Azure和.NET 5实现可扩展性、可用性和可恢复性 21
2.2.1 在Azure中创建可扩展的Web应用程序 22
2.2.2 使用.NET 5创建可扩展的Web应用程序 26
2.3 C#编程时需要考虑的性能问题 29
2.3.1 字符串串联 29
2.3.2 异常 30
2.3.3 多线程 31
2.4 易用性——插入数据为什么会耗费太长时间 32
2.4.1 如何设计快速选择 33
2.4.2 从大量的条目中进行选择 34
2.5 .NET Core的互操作性 35
2.6 在设计层面实现安全性 37
2.7 用例——了解.NET Core项目的主要类型 38
2.8 本章小结 40
2.9 练习题 40
第3章 使用Azure DevOps记录需求 41
3.1 技术性要求 41
3.2 Azure DevOps介绍 41
3.3 使用Azure DevOps 组织工作 45
3.3.1 Azure DevOps存储库 45
3.3.2 包源 47
3.3.3 测试计划 49
3.3.4 管道 50
3.4 使用Azure DevOps管理系统需求 50
3.4.1 Epic工作项 50
3.4.2 Feature工作项 51
3.4.3 Product Backlog工作项/ User Story工作项 51
3.5 用例——在Azure DevOps中展现WWTravelClub 51
3.6 本章小结 55
3.7 练习题 55
第4章 确定基于云的最佳解决方案 56
4.1 技术性要求 56
4.2 不同的软件部署模型 56
4.2.1 IaaS和Azure服务 57
4.2.2 PaaS—— 开发者的世界 59
4.2.3 SaaS——只需要登录即可开始 63
4.2.4 无服务器解决方案 64
4.3 为什么混合应用程序在许多情况下如此有用 64
4.4 用例——哪一种才是最好的
云解决方案 65
4.5 本章小结 66
4.6 练习题 66
第5章 在企业应用中应用微服务架构 67
5.1 技术性要求 67
5.2 什么是微服务 67
5.2.1 微服务与模块概念的演变 68
5.2.2 微服务设计原则 69
5.2.3 容器和Docker 71
5.3 微服务什么时候有帮助 72
5.3.1 分层架构和微服务 72
5.3.2 什么时候值得考虑微服务架构 74
5.4 .NET如何处理微服务 75
5.4.1 .NET通信工具 75
5.4.2 可恢复性任务执行 76
5.4.3 使用通用宿主 77
5.4.4 Visual Studio对Docker的支持 80
5.4.5 Azure和Visual Studio对微服务编排的支持 84
5.5 管理微服务需要哪些工具 84
5.6 本章小结 86
5.7 练习题 86
第6章 Azure Service Fabric 87
6.1 技术性要求 87
6.2 定义和配置Azure Service Fabric群集 90
6.2.1 步骤1:基本信息 90
6.2.2 步骤2:群集配置 91
6.2.3 步骤3:安全配置 93
6.3 用例——购买记录微服务 95
6.3.1 确保消息幂等性 97
6.3.2 交互程序库 99
6.3.3 实现通信的接收端 100
6.3.4 实现服务逻辑 102
6.3.5 定义微服务的宿主 106
6.3.6 与服务进行通信 107
6.3.7 测试应用程序 108
6.4 本章小结 109
6.5 练习题 109
第7章 Azure Kubernetes服务 110
7.1 技术性要求 110
7.2 Kubernetes 基础 110
7.2.1 .yaml 文件 111
7.2.2 ReplicaSet和Deployment 112
7.2.3 StatefulSet 114
7.2.4 Service 114
7.2.5 Ingress 118
7.3 与Azure Kubernetes群集交互 119
7.3.1 使用 Kubectl 121
7.3.2 部署留言板示例应用程序 122
7.4 Kubernetes高级概念 124
7.4.1 需要永久存储 125
7.4.2 Kubernetes Secret 126
7.4.3 存活性和就绪性检查 127
7.4.4 自动缩放 128
7.4.5 Helm:安装入口控制器 129
7.5 本章小结 131
7.6 练习题 132
第8章 在C#中与数据进行交互——Entity Framework Core 133
8.1 技术性要求 133
8.2 ORM基础 134
8.3 配置Entity Framework Core 136
8.3.1 定义数据库实体 137
8.3.2 定义映射集合 139
8.3.3 完成映射配置 139
8.4 Entity Framework Core迁移 141
8.5 使用Entity Framework Core查询和更新数据 144
8.5.1 将数据返回给表示层 147
8.5.2 直接发出SQL命令 148
8.5.3 处理事务 149
8.6 数据层的部署 149
8.7 Entity Framework Core的高级功能 150
8.8 本章小结 151
8.9 练习题 151
第9章 在云上选择数据存储 152
9.1 技术性要求 152
9.2 不同用途的不同存储库 153
9.2.1 关系数据库 153
9.2.2 NoSQL数据库 155
9.2.3 Redis 156
9.2.4 Azure存储账户 156
9.3 在结构化存储和NoSQL存储之间进行选择 157
9.4 Azure Cosmos DB—— 一种管理跨区域数据库的选择 158
9.4.1 创建一个Azure Cosmos DB账户 158
9.4.2 创建Azure Cosmos集合 159
9.4.3 访问Azure Cosmos 数据 160
9.4.4 定义数据库一致性 160
9.4.5 Cosmos DB客户端 162
9.4.6 Cosmos DB的Entity Framework Core提供程序 163
9.5 用例——存储数据 164
9.6 本章小结 167
9.7 练习题 167
第10章 Azure函数应用 168
10.1 技术性要求 168
10.2 Azure函数应用程序 168
10.2.1 消耗计划 169
10.2.2 函数高级计划 169
10.2.3 应用服务计划 170
10.3 使用C#运行Azure函数应用 170
10.4 维护Azure函数应用 174
10.5 用例——通过Azure函数应用发送电子邮件 176
10.5.1 第一步:创建Azure队列存储 176
10.5.2 第二步:创建发送电子邮件的函数 178
10.5.3 第三步:创建Queue Trigger函数 180
10.6 本章小结 181
10.7 练习题 181
第11章 设计模式与.NET 5实现 182
11.1 技术性要求 182
11.2 设计模式及其目的 182
11.2.1 建造者模式 183
11.2.2 工厂模式 185
11.2.3 单例模式 186
11.2.4 代理模式 188
11.2.5 命令模式 189
11.2.6 发布者-订阅者模式 190
11.2.7 依赖注入模式 191
11.3 .NET 5中可用的设计模式 192
11.4 本章小结 193
11.5 练习题 193
第12章 不同领域的软件解决方案 194
12.1 技术性要求 195
12.2 什么是软件领域 195
12.3 理解领域驱动设计 196
12.4 实体和值对象 198
12.5 使用SOLID原则映射领域 201
12.6 聚合 203
12.7 存储库和工作单元模式 204
12.8 DDD实体和Entity Framework Core 205
12.9 命令查询职责分离模式 206
12.10 命令处理程序和领域事件 208
12.11 事件溯源 210
12.12 用例——WWTravelClub的领域 210
12.13 本章小结 212
12.14 练习题 212
第13章 在C# 9中实现代码复用 214
13.1 技术性要求 214
13.2 代码复用的原则 214
13.2.1 什么不是代码复用 215
13.2.2 什么是代码复用 215
13.3 开发生命周期中的可复用性 216
13.4 使用.NET 5或.NET Standard进行代码复用 217
13.5 在C#中处理代码复用 218
13.5.1 面向对象分析 218
13.5.2 泛型 220
13.6 如果代码不可复用怎么办 220
13.7 如何推广可复用的程序库 221
13.7.1 使用DocFX文档化.NET程序库 221
13.7.2 使用Swagger文档化Web API 222
13.8 用例——复用代码以快速交付优质、安全的软件 223
13.9 本章小结 223
13.10 练习题 224
第14章 使用.NET Core实现面向服务的架构 225
14.1 技术性要求 225
14.2 SOA方法的原则 226
14.3 SOAP Web服务 228
14.4 REST Web服务 229
14.4.1 服务类型兼容性规则 229
14.4.2 REST与原生HTTP功能 230
14.4.3 REST语言中的方法示例 232
14.4.4 OpenAPI标准 232
14.4.5 REST服务的身份验证和鉴权 233
14.5 如何在.NET 5中处理SOA 235
14.5.1 对SOAP客户端的支持 235
14.5.2 对gRPC的支持 236
14.5.3 ASP.NET Core简介 236
14.5.4 使用ASP.NET Core实现REST服务 239
14.6 用例——公开WWTravelClub的旅行方案 248
14.7 本章小结 252
14.8 练习题 253
第15章 ASP.NET Core MVC 254
15.1 技术性要求 254
15.2 Web应用程序的表示层 254
15.3 ASP.NET Core MVC架构 255
15.3.1 ASP.NET Core管道工作原理 255
15.3.2 加载配置数据并与options框架一起使用 258
15.3.3 定义ASP.NET Core MVC管道 261
15.3.4 定义控制器和ViewModel 265
15.3.5 Razor视图 267
15.3.6 复用视图代码 273
15.4 ASP.NET Core最新版本的新增功能 275
15.5 ASP.NET Core MVC和设计原则的关系 276
15.5.1 ASP.NET Core管道的优点 277
15.5.2 服务器端和客户端验证 277
15.5.3 ASP.NET Core多语言支持 278
15.5.4 MVC模式 280
15.6 用例 —— 使用ASP.NET Core MVC实现Web应用程序 281
15.6.1 定义应用程序规范 281
15.6.2 定义应用程序架构 282
15.6.3 控制器和视图 293
15.7 本章小结 298
15.8 练习题 298
第16章 Blazor WebAssembly 299
16.1 技术性要求 299
16.2 Blazor WebAssembly架构 300
16.2.1 什么是单页应用程序 300
16.2.2 加载并启动应用程序 301
16.2.3 路由 303
16.3 Blazor页面和组件 304
16.3.1 组件结构 304
16.3.2 模板和级联参数 307
16.3.3 事件 309
16.3.4 绑定 311
16.3.5 Blazor如何更新HTML 312
16.3.6 组件生命周期 313
16.4 Blazor表单和验证 314
16.5 Blazor高级功能 316
16.5.1 对组件和HTML元素的引用 316
16.5.2 JavaScript互操作性 316
16.5.3 全球化与本地化 318
16.5.4 身份验证和授权 318
16.5.5 与服务器的通信 320
16.6 Blazor WebAssembly第三方工具 321
16.7 用例——使用Blazor WebAssembly实现一个简单的应用程序 322
16.7.1 准备解决方案 322
16.7.2 实现所需的ASP.NET Core REST API 323
16.7.3 在服务中实现业务逻辑 325
16.7.4 实现用户界面 325
16.8 本章小结 328
16.9 练习题 328
第17章 C# 9编码最佳实践 329
17.1 技术性要求 329
17.2 越糟糕的程序员,编码越复杂 329
17.2.1 可维护性指数 330
17.2.2 圈复杂度 330
17.2.3 继承深度 333
17.2.4 类耦合度 334
17.2.5 源代码行 336
17.3 使用版本控制系统 336
17.4 用C#编写安全代码 336
17.4.1 try-catch 336
17.4.2 try-finally和using 337
17.4.3 IDisposable接口 338
17.5 编写.NET 5代码的提示与技巧 339
17.6 编写代码时的注意事项 340
17.7 本章小结 341
17.8 练习题 341
第18章 单元测试用例和TDD 342
18.1 技术性要求 342
18.2 单元测试和集成测试 342
18.2.1 对单元测试和集成测试进行自动化 343
18.2.2 编写自动化单元测试与集成测试 344
18.2.3 编写验收测试和性能测试 345
18.3 测试驱动开发 346
18.4 定义C#测试项目 347
18.4.1 使用xUnit测试框架 348
18.4.2 高级测试准备和清理场景 350
18.4.3 使用Moq模拟接口 351
18.5 用例 —— 在Azure DevOps中对单元测试进行自动化 352
18.6 本章小结 359
18.7 练习题 359
第19章 使用工具编写更好的代码 360
19.1 技术性要求 360
19.2 识别编写良好的代码 360
19.3 使用C#代码评估工具 361
19.4 使用扩展工具分析代码 365
19.4.1 使用Microsoft Code Analysis 2019 365
19.4.2 使用SonarLint for Visual Studio 2019 365
19.5 检查分析之后的最终代码 366
19.6 用例——在应用程序发布之前评估C#代码 367
19.7 本章小结 368
19.8 练习题 369
第20章 DevOps 370
20.1 技术性要求 370
20.2 DevOps的描述 371
20.3 DevOps原则 371
20.4 Azure DevOps的持续交付 372
20.4.1 使用Azure管道部署程序包管理应用程序 372
20.4.2 多阶段环境 379
20.5 定义持续反馈和相关的DevOps工具 381
20.5.1 使用Azure Monitor Application Insights监控软件 381
20.5.2 使用测试和反馈工具实现反馈 384
20.6 SaaS 388
20.6.1 使组织适应服务场景 388
20.6.2 服务场景中的软件开发过程 388
20.6.3 服务场景在技术层面的可能影响 388
20.6.4 决定何时采用SaaS解决方案 389
20.6.5 为服务场景准备解决方案 389
20.7 用例——WWTravelClub 项目方案 391
20.8 本章小结 391
20.9 练习题 392
第21章 持续集成所带来的挑战 393
21.1 技术性要求 393
21.2 持续集成 393
21.3 持续集成和GitHub 394
21.4 使用持续集成的风险和挑战 396
21.4.1 禁用生产环境的持续部署 397
21.4.2 不完整的功能 398
21.4.3 不稳定的测试解决方案 400
21.5 WWTravelClub 项目方案 403
21.6 本章小结 403
21.7 练习题 403
第22章 功能测试自动化 404
22.1 技术性要求 404
22.2 功能测试的目的 404
22.3 在C#中使用单元测试工具来自动化功能测试 406
22.3.1 测试模拟环境中的应用程序 407
22.3.2 测试受控应用程序 408
22.4 用例——自动化功能测试 410
22.5 本章小结 412
22.6 练习题 413
內容試閱
本书涵盖了业界最新的基于云的分布式软件架构中较常见的设计模式和框架。本书基于实际工作中的真实场景来讨论应该何时以及如何使用每种模式。本书还介绍了DevOps、微服务、Kubernetes、持续集成和云计算等技术与软件开发流程,从而帮助你为客户开发并交付优质的软件解决方案。
本书将帮助你了解客户的需求,指导你解决在开发过程中可能面临的一些大难题,还列出了基于云环境管理应用程序需要了解的注意事项。通过学习本书,你可以了解不同的架构方法,例如分层架构、面向服务架构、微服务、单页应用程序和云架构,并了解如何将这些架构方法应用于具体的业务需求。
本书所有概念都将借助和基于现实工作中的实际用例进行解释。在这些用例中,软件设计原则能够帮助你创建安全和健壮的应用程序。通过学习本书,你可以使用 Azure 在远程环境或云上部署代码,还能够开发和交付高度可扩展且安全的企业级应用程序,以满足最终客户的业务需求。
值得一提的是,本书不仅介绍了软件架构师在开发C#和.NET Core解决方案时的最佳实践,还讨论了在最新趋势下开发软件产品需要管理和维护的各种环境。
与第1版相比,本书(即第2版)在代码及其说明方面进行了改进,并根据C# 9和.NET 5提供的新功能做出了调整。本书添加了最新的框架和技术(如gRPC和Blazor),并专门新增章节详细介绍了Kubernetes。
本书读者对象
本书适用于任何希望提高C#与Azure解决方案相关知识水平的软件架构师,也适用于想要成为架构师或希望使用.NET技术栈构建企业应用程序的工程师和高级开发者。学习本书之前,读者需要拥有C#和.NET的使用经验。
本书内容
第1章“软件架构的重要性”解释了软件架构的基础知识。该章帮助你以正确的心态来面对客户需求,从而选择正确的工具、模式和框架。
第2章“非功能性需求”带你进入应用程序开发的一个重要阶段,帮助你了解收集和说明应用程序必须满足的所有约束和目标,如可扩展性、可用性、可恢复性、性能、多线程、互操作性和安全性。
第3章“使用 Azure DevOps记录需求”介绍一些用于记录应用程序相关需求、bug和其他信息的技术。该章重点介绍Azure DevOps和GitHub的使用,其中的大多数概念也通用于其他平台和工具。
第4章“确定基于云的最佳解决方案” 对云和Microsoft Azure中可用的工具与资源进行了概述。在该章,你将学习如何正确地搜索工具和资源,以及如何配置它们以满足你的需求。
第5章“在企业应用中应用微服务架构”介绍微服务和Docker容器。在该章,你将了解如何基于微服务的架构利用云的各种优势,如何在云中使用微服务实现灵活性、高吞吐量和可靠性,以及如何使用容器和Docker在架构中混合不同的技术,从而让软件不依赖于特定平台。
第6章“Azure Service Fabric”介绍Microsoft特有的微服务编排器Azure Service Fabric。在该章,将实现一个简单的基于微服务的应用程序。
第7章“Azure Kubernetes服务”描述Kubernetes 在Azure上的实现。Kubernetes是微服务编排器的事实标准。在该章,你将学习如何在Kubernetes上打包和部署微服务应用程序。
第8章“在C#中与数据进行交互——Entity Framework Core”详细解释应用程序如何在对象关系映射(ORM)框架,尤其是在Entity Framework Core 5.0的帮助下与各种存储引擎进行交互。
第9章“在云上选择数据存储”介绍云和Microsoft Azure中可用的主要存储引擎。在该章,你将学习如何选择最佳存储引擎来实现所需的读取/写入的并行性,以及如何配置它们。
第10章“Azure函数应用”描述了无服务器计算模型以及如何在Azure云中使用它们。在该章,你将学习如何在需要运行某些计算时分配云资源,从而只为实际计算时间付费。
第11章“设计模式与.NET 5实现”通过.NET 5示例描述了常见的软件模式。在该章,你将了解设计模式的重要性以及使用它们的最佳实践。
第12章“不同领域的软件解决方案”描述现代领域驱动设计的软件生产方法,如何使用它来应对需要多领域知识的复杂应用程序,以及如何使用它来为基于云和基于微服务的架构提供帮助。
第13章“在C# 9中实现代码复用”描述在使用C# 9的.NET 5应用程序中最大化代码可重用性的模式和最佳实践,还讨论代码重构的重要性。
第14章“使用.NET Core实现面向服务的架构”描述面向服务的架构,它使你能够将应用程序的功能公开为Web或专用网络上的服务终节点,以便用户通过各种类型的客户端与它们进行交互。在该章,你将学习如何使用ASP.NET Core和gRPC实现面向服务的架构的服务节点,以及如何使用现有的OpenAPI程序包对它们进行文档化。
第15章“ASP.NET Core MVC”详细描述ASP.NET Core框架。在该章,你将学习如何基于模型-视图-控制器(MVC)模式实现Web应用程序,以及如何根据第12 章所描述的领域驱动设计的方法来组织它们。
第16章“Blazor WebAssembly”描述Blazor框架,该框架利用WebAssembly的强大功能在用户浏览器中运行. NET。在这一章,你将学习如何使用C#实现单页应用程序。
第17章“C# 9编码最佳实践”描述了使用C# 9开发.NET 5应用程序时的最佳实践。
第18章“单元测试用例和TDD”描述了如何测试应用程序。在该章,你将学习如何使用xUnit测试.NET Core应用程序,并了解如何在测试驱动设计的帮助下轻松开发和维护满足规范的代码。
第19章“使用工具编写更好的代码”描述了评估软件质量的指标,以及如何借助Visual Studio的所有工具来衡量它们。
第20章“DevOps”描述了DevOps软件开发和维护方法的基础知识。在该章,你将学习如何组织应用程序的持续集成/持续交付周期。该章还描述了整个部署过程是如何自动化的:首先在源代码存储库中创建新版本,然后通过各种测试和批准步骤,最后在实际生产环境中最终部署应用程序。你还将了解如何使用Azure Pipelines和GitHub Actions来自动化整个部署过程。
第21章“持续集成所带来的挑战”用持续集成场景补充了对DevOps的描述。
第22章“功能测试自动化”专门介绍功能测试的自动化,即自动验证整个应用程序的版本是否符合约定的功能规范的测试。在该章,你将学习如何使用自动化工具模拟用户操作,以及如何将这些工具与 xUnit 结合使用来编写功能测试。
如何阅读本书
● 本书涉及很多主题,可以将其作为一本解决实际工作问题的指导书。
● 本书需要使用Visual Studio 2019社区版或更高版本。
● 读者需要具备C#和.NET基础知识。
在线资源
本书的代码存储库托管在GitHub上(见参考网站0.1)。本书免费提供代码、参考网站、各章练习题的答案和各章的扩展阅读等资源,可以通过扫本书封底的二维码下载。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.