![]()
内容推荐 软件架构是指可以简化软件开发过程并提高应用程序质量的实现架构和系统。本书在第1版的基础上进行了全面修订和扩展,面向。NET5和C#9,介绍了一些能够助你成为一名卓越的软件架构师所需的关键技能、知识和最佳实践。 第2版增加了对软件架构原则的额外讲述、Azure服务结构、Kubernetes和Blazor等新章节。另外,还增加了关于安全性、微服务和DevOps的讨论,以及软件开发周期的GitHub部署。 首先,介绍如何将用户需求转换为软件架构需求,并探讨功能性需求和非功能性需求之间的差异。然后,探讨如何为基础设施选择云解决方案,以及如何在基于云的环境中管理应用程序。最后,讲解软件设计模式和各种软件方法,从而帮助你解决开发过程中遇到的常见问题。 学习完本书,你将能够构建并交付可满足组织业务需求的高度可扩展的企业应用程序。 主要内容 ●使用多种技术克服现实工作中的架构挑战,并从设计层面解决问题 ●应用分层架构、面向服务架构和微服务架构 ●利用容器、Docker、Kubernetes和Blazor等工具高效管理微服务 ●快速使用Azure工具和功能提供全局解决方案 ●使用C#9及其新功能编程和维护Azure功能 ●了解什么情况下最适合使用测试驱动开发方法 ●编写自动化功能测试用例 ●充分利用DevOps原则实现CI/CD环境 作者简介 叶伟民,广州.NET技术俱乐部主席、中国香港Azure/.NET技术俱乐部创始人兼主席、.NET社区联盟建设者,在.NET编程领域有15年工作经验。 目录 第1章 软件架构的重要性 1.1 什么是软件架构 1.2 软件开发过程模型 1.2.1 传统的软件开发过程模型 1.2.2 敏捷软件开发过程模型 1.3 收集正确信息以设计高质量软件 1.3.1 了解需求收集过程 1.3.2 收集准确的用户需求 1.3.3 分析需求 1.3.4 将需求整理成规范的文档 1.3.5 复核用户需求文档 1.4 设计技术 1.4.1 设计思维 1.4.2 设计冲刺 1.5 收集需求阶段就要考虑的常见问题 1.5.1 问题1:网站太慢,无法打开网页 1.5.2 问题2:用户的需求未得到正确实现 1.5.3 问题3:系统会在什么环境使用 1.6 World Wild Travel Club案例简介 1.7 本章小结 1.8 练习题 第2章 非功能性需求 2.1 技术性要求 2.2 使用Azure和.NET 5实现可扩展性、可用性和可恢复性 2.2.1 在Azure中创建可扩展的Web应用程序 2.2.2 使用.NET 5创建可扩展的Web应用程序 2.3 C#编程时需要考虑的性能问题 2.3.1 字符串串联 2.3.2 异常 2.3.3 多线程 2.4 易用性——插入数据为什么会耗费太长时间 2.4.1 如何设计快速选择 2.4.2 从大量的条目中进行选择 2.5 .NET Core的互操作性 2.6 在设计层面实现安全性 2.7 用例——了解.NET Core项目的主要类型 2.8 本章小结 2.9 练习题 第3章 使用Azure DevOps记录需求 3.1 技术性要求 3.2 Azure DevOps介绍 3.3 使用Azure DevOps 组织工作 3.3.1 Azure DevOps存储库 3.3.2 包源 3.3.3 测试计划 3.3.4 管道 3.4 使用Azure DevOps管理系统需求 3.4.1 Epic工作项 3.4.2 Feature工作项 3.4.3 Product Backlog工作项/ User Story工作项 3.5 用例——在Azure DevOps中展现WWTravelClub 3.6 本章小结 3.7 练习题 第4章 确定基于云的最佳解决方案 4.1 技术性要求 第5章 在企业应用中应用微服务架构 第6章 Azure Service Fabric 第7章 Azure Kubernetes服务 第8章 在C#中与数据进行交互——Entity Framework Core 第9章 在云上选择数据存储 第10章 Azure函数应用 第11章 设计模式与.NET 5实现 第12章 不同领域的软件解决方案 第13章 在C# 9中实现代码复用 第14章 使用.NET Core实现面向服务的架构 第15章 ASP.NET Core MVC 第16章 Blazor WebAssembly 第17章 C# 9编码最佳实践 第18章 单元测试用例和TDD 第19章 使用工具编写更好的代码 第20章 DevOps 第21章 持续集成所带来的挑战 第22章 功能测试自动化 |