返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • Azure、DevOps和微服务软件架构实战(第2版)
  • 新华书店正版
    • 作者: [葡] 加布里埃尔·巴普蒂斯特(Gabriel Baptista) [意]弗朗西斯科·阿布鲁泽塞(Francesco Abbruzzese)著 叶伟民 张陶栋 王伟 肖宁 译著
    • 出版社: 清华大学出版社
    • 出版时间:2023-01-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: [葡] 加布里埃尔·巴普蒂斯特(Gabriel Baptista) [意]弗朗西斯科·阿布鲁泽塞(Francesco Abbruzzese)著 叶伟民 张陶栋 王伟 肖宁 译著
    • 出版社:清华大学出版社
    • 出版时间:2023-01-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2022-11-01
    • 页数:0
    • 开本:其他
    • 装帧:平装
    • ISBN:9787302618508
    • 国别/地区:中国
    • 版权提供:清华大学出版社

    Azure、DevOps和微服务软件架构实战(第2版)

    作  者:(葡)加布里埃尔·巴普蒂斯特,(意)弗朗西斯科·阿布鲁泽塞 著 叶伟民 等 译
    定  价:128
    出 版 社:清华大学出版社
    出版日期:2023年01月01日
    页  数:864
    装  帧:平装
    ISBN:9787302618508
    主编推荐

    "本书的编写方式与很多技术书籍不同,作者站在架构师的视角,以一个项目的整个生命周期 为主线,向读者展示了如何在云时代设计和实现一款软件,其内容涵盖了从软件架构设计的基本 原则、需求收集、解决方案设计,可选技术架构的选择与分析,应用软件的数据层、逻辑层和展 现层的很好实践与框架选择一直到构建团队协作平台、持续交付流水线,以及自动化测试。如 果你是一名拥有3-5年软件开发经验的软件开发人员,希望能够成为一名架构师,这本书会对你 非常有帮助。"

    内容简介

    软件架构是指可以简化软件开发过程并提高应用程序质量的实现架构和系统。本书在第1版的基础上进行了全面修订和扩展,面向.NET5和C#9,介绍了一些能够助你成为一名很好的软件架构师所需的关键技能、知识和很好实践。
    第2版增加了对软件架构原则的额外讲述、Azure服务结构、Kubernetes和Blazor等新章节。另外,还增加了关于安全性、微服务和DevOps的讨论,以及软件开发周期的GitHub部署。
    首先,介绍如何将用户需求转换为软件架构需求,并探讨功能性需求和非功能性需求之间的差异。然后,探讨如何为基础设施选择云解决方案,以及如何在基于云的环境中管理应用程序。最后,讲解软件设计模式和各种软件方法,从而帮助你解决开发过程中遇到的常见问题。
    学习完本书,你将能够构建并交付可满足组织业务需求的高度可扩展的企业应用程序。

    作者简介

    "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 Controlsnull

    精彩内容

    目录
    第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.6World 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.3C#编程时需要考虑的性能问题 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.2Azure DevOps介绍 41
    3.3使用Azure DevOps 组织工作 45
    3.3.1Azure DevOps存储库 45
    3.3.2包源 47
    3.3.3测试计划 49
    3.3.4管道 50
    3.4使用Azure DevOps管理系统需求 50
    3.4.1Epic工作项 50
    3.4.2Feature工作项 51
    3.4.3Product 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.1IaaS和Azure服务 57
    4.2.2PaaS—— 开发者的世界 59
    4.2.3SaaS——只需要登录即可开始 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.4Visual Studio对Docker的支持 80
    5.4.5Azure和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.2Kubernetes 基础 110
    7.2.1.yaml 文件 111
    7.2.2ReplicaSet和Deployment 112
    7.2.3StatefulSet 114
    7.2.4Service 114
    7.2.5Ingress 118
    7.3与Azure Kubernetes群集交互 119
    7.3.1使用 Kubectl 121
    7.3.2部署留言板示例应用程序 122
    7.4Kubernetes高级概念 124
    7.4.1需要较为存储 125
    7.4.2Kubernetes Secret 126
    7.4.3存活性和就绪性检查 127
    7.4.4自动缩放 128
    7.4.5Helm:安装入口控制器 129
    7.5本章小结 131
    7.6练习题 132
    第8章 在C#中与数据进行交互——Entity Framework Core 133
    8.1技术性要求 133
    8.2ORM基础 134
    8.3配置Entity Framework Core 136
    8.3.1定义数据库实体 137
    8.3.2定义映射集合 139
    8.3.3完成映射配置 139
    8.4Entity 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.7Entity Framework Core的高级功能 150
    8.8本章小结 151
    8.9练习题 151
    第9章 在云上选择数据存储 152
    9.1技术性要求 152
    9.2不同用途的不同存储库 153
    9.2.1关系数据库 153
    9.2.2NoSQL数据库 155
    9.2.3Redis 156
    9.2.4Azure存储账户 156
    9.3在结构化存储和NoSQL存储之间进行选择 157
    9.4Azure 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.5Cosmos DB客户端 162
    9.4.6Cosmos DB的Entity Framework Core提供程序 163
    9.5用例——存储数据 164
    9.6本章小结 167
    9.7练习题 167
    第10章Azure函数应用 168
    10.1技术性要求 168
    10.2Azure函数应用程序 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.8DDD实体和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.2SOA方法的原则 226
    14.3SOAP Web服务 228
    14.4REST Web服务 229
    14.4.1服务类型兼容性规则 229
    14.4.2REST与原生HTTP功能 230
    14.4.3REST语言中的方法示例 232
    14.4.4OpenAPI标准 232
    14.4.5REST服务的身份验证和鉴权 233
    14.5如何在.NET 5中处理SOA 235
    14.5.1对SOAP客户端的支持 235
    14.5.2对gRPC的支持 236
    14.5.3ASP.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.2Web应用程序的表示层 254
    15.3ASP.NET Core MVC架构 255
    15.3.1ASP.NET Core管道工作原理 255
    15.3.2加载配置数据并与options框架一起使用 258
    15.3.3定义ASP.NET Core MVC管道 261
    15.3.4定义控制器和ViewModel 265
    15.3.5Razor视图 267
    15.3.6复用视图代码 273
    15.4ASP.NET Core近期新版本的新增功能 275
    15.5ASP.NET Core MVC和设计原则的关系 276
    15.5.1ASP.NET Core管道的优点 277
    15.5.2服务器端和客户端验证 277
    15.5.3ASP.NET Core多语言支持 278
    15.5.4MVC模式 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.2Blazor WebAssembly架构 300
    16.2.1什么是单页应用程序 300
    16.2.2加载并启动应用程序 301
    16.2.3路由 303
    16.3Blazor页面和组件 304
    16.3.1组件结构 304
    16.3.2模板和级联参数 307
    16.3.3事件 309
    16.3.4绑定 311
    16.3.5Blazor如何更新HTML 312
    16.3.6组件生命周期 313
    16.4Blazor表单和验证 314
    16.5Blazor高级功能 316
    16.5.1对组件和HTML元素的引用 316
    16.5.2JavaScript互操作性 316
    16.5.3全球化与本地化 318
    16.5.4身份验证和授权 318
    16.5.5与服务器的通信 320
    16.6Blazor 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.1try-catch 336
    17.4.2try-finally和using 337
    17.4.3IDisposable接口 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.2DevOps的描述 371
    20.3DevOps原则 371
    20.4Azure 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.6SaaS 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.5WWTravelClub 项目方案 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

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购