





作者:[葡] 加布里埃尔·巴普蒂斯特(Gabriel Baptista) [意]弗朗西斯科·阿布鲁泽塞(Francesco Abbruzzese)著 叶伟民 张陶栋 王伟 肖宁 译
定价:128元
印次:1-1
ISBN:9787302618508
出版日期:2023.01.01
印刷日期:2022.11.15
图书责编:王军
图书分类:零售
软件架构是指可以简化软件开发过程并提高应用程序质量的实现架构和系统。本书在第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全体员工以及为改进本书整体代码质量做出贡献的审稿人员。”
前 言 本书涵盖了业界最新的基于云的分布式软件架构中较常见的设计模式和框架。本书基于实际工作中的真实场景来讨论应该何时以及如何使用每种模式。本书还介绍了DevOps、微服务、Kubernetes、持续集成和云计算等技术与软件开发流程,从而帮助你为客户开发并交付优质的软件解决方案。 本书将帮助你了解客户的需求,指导你解决在开发过程中可能面临的一些大难题,还列出了基于云环境管理应用程序需要了解的注意事项。通过学习本书,你可以了解不同的架构方法,例如分层架构、面向服务架构、微服务、单页应用程序和云架构,并了解如何将这些架构方法应用于具体的业务需求。 本书所有概念都将借助和基于现实工作中的实际用例进行解释。在这些用例中,软件设计原则能够帮助你创建安全和健壮的应用程序。通过学习本书,你可以使用 Azure 在远程环境或云上部署代码,还能够开发和交付高度可扩展且安全的企业级应用程序,以满足最终客户的业务需求。 值得一提的是,本书不仅介绍了软件架构师在开发C#和.NET Core解决方案时的最佳实践,还讨论了在最新趋势下开发软件产品需要管理和维护的各种环境。 与第1版相比,本书(即第2版)在代码及其说明方面进行了改进,并根据C# 9和.NET 5提供的新功能做出了调整。本书添加了最新的框架和技术(如gRPC和Blazor),并专门新增章节详细介绍了Kubernetes。 本书读者对象 本书适用于任何希望提高C#与Azure解决方案相关知识水平的软件架构师,也适用于想要成为架构师或希望使用.NET技术栈构建企业应用程序的工程师和高级开发者。学习本书之前,读者需要...
第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....
为主线,向读者展示了如何在云时代设计和实现一款软件,其内容涵盖了从软件架构设计的基本
原则、需求收集、解决方案设计,可选技术架构的选择与分析,应用软件的数据层、逻辑层和展
现层的**实践与框架选择一直到构建团队协作平台、持续交付流水线,以及自动化测试。如
果你是一名拥有3-5年软件开发经验的软件开发人员,希望能够成为一名架构师,这本书会对你
非常有帮助。
同系列产品
查看详情-
C# 12和.NET 8入门与跨平台开发(第8版)
[美] 马克·J.普莱斯(Mark J. Price)著 叶伟民 译
ISBN:9787302682967
定 价:198元
-
C# 11和.NET 7入门与跨平台开发(第7版)
[美] 马克·J. 普莱斯(Mark J. Price) 著 叶伟民 译
ISBN:9787302653288
定 价:158元
-
C#高级编程(第12版)
[奥]克里斯琴·内格尔(Chrisitian Nagel) 著 李铭 译
ISBN:9787302618775
定 价:198元
-
C# 10 和 .NET 6入门与跨平台开发(第6版)
[美] 马克·J.普莱斯(Mark J. Price)著 叶伟民 译
ISBN:9787302612728
定 价:168元