现代C++软件架构:方法与实践

现代C++软件架构:方法与实践

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全面介绍现代软件架构的进化方向。

内容简介

本书结合现代C++特性,详细介绍软件架构的实用方法及实践,探索了如何在单体应用程序中使用成熟的设计模式,如何使应用程序具有健壮性、安全性、高性能和可维护性,以及如何使用面向服务的架构、微服务、容器和无服务器计算等架构模式构建连接多个单体应用程序的高级服务。

全书共分为四部分:第一部分包含第1~3章,介绍软件架构的概念及组件,包括软件架构的重要性和良好的设计原则、架构风格、功能性和非功能性需求;第二部分包含第4~7章,介绍C++软件的开发和设计,包括架构与系统设计、C++语言特性、设计模式,以及构建和打包;

第三部分包含第8~11章,介绍架构的质量属性,包括测试、持续集成和持续部署、安全性、性能;第四部分包含第12~15章,介绍云原生设计原则,包括面向服务的架构、微服务、容器、云原生设计。

作者简介

作者彼得亚雷·加奇科夫斯基,在编程和DevOps实践方面有超过10年的经验。

章节目录

版权信息

前言

第一部分 软件架构的概念和组成部分

第1章 软件架构的重要性和良好的设计原则

1.1 技术要求

1.2 软件架构

1.3 适当架构的重要性

1.4 优秀架构的基本原理

1.5 使用敏捷原则开发架构

1.6 C++的哲学思想

1.7 SOLID和DRY原则

1.8 耦合和内聚

1.9 总结

问题

进一步阅读

第2章 架构风格

2.1 技术要求

2.2 有状态风格和无状态风格

2.3 单体风格

2.4 服务和微服务

2.5 基于事件的架构

2.6 分层架构

2.7 基于模块的架构

2.8 总结

问题

进一步阅读

第3章 功能性和非功能性需求

3.1 从源代码生成文档必备的技术要求

3.2 需求的类型

3.3 架构级重要需求

3.4 从各种来源收集需求

3.5 文档化需求

3.6 文档化系统架构

3.7 选择文档的正确视图

3.8 生成文档

3.9 总结

问题

进一步阅读

第二部分 C++软件的设计和开发

第4章 架构与系统设计

4.1 技术要求

4.2 分布式系统的特性

4.3 系统容错性和可用性

4.4 系统集成

4.5 在规模化部署时保持性能

4.6 系统部署

4.7 管理API

4.8 总结

问题

进一步阅读

第5章 利用C++语言特性

5.1 技术要求

5.2 设计优秀的API

5.3 编写声明式代码

5.4 在编译时移动计算

5.5 利用安全类型的力量

5.6 编写模块化的C++代码

5.7 总结

问题

进一步阅读

第6章 设计模式和C++

6.1 技术要求

6.2 C++编程习语

6.3 奇异递归模板模式

6.4 创建对象

6.5 在C++中跟踪状态和访问对象

6.6 有效地处理内存

6.7 总结

问题

进一步阅读

第7章 构建和打包

7.1 技术要求

7.2 充分利用编译器

7.3 抽象构建过程

7.4 使用外部模块

7.5 重用高质量代码

7.6 使用Conan打包

7.7 总结

问题

进一步阅读

第三部分 架构的质量属性

第8章 编写可测试代码

8.1 技术要求

8.2 为什么要测试代码

8.3 测试框架

8.4 模拟和伪装

8.5 测试驱动的类设计

8.6 自动化测试以实现持续集成和持续部署

8.7 总结

问题

进一步阅读

第9章 持续集成和持续部署

9.1 技术要求

9.2 CI简介

9.3 审查代码更改

9.4 测试驱动的自动化

9.5 将部署作为代码管理

9.6 构建部署代码

9.7 构建CD管道

9.8 使用不可变基础设施

9.9 总结

问题

进一步阅读

第10章 代码安全性和部署安全性

10.1 技术要求

10.2 代码安全性检查

10.3 检查依赖项是否安全

10.4 强化代码

10.5 强化环境

10.6 总结

问题

进一步阅读

第11章 性能

11.1 技术要求

11.2 性能测量

11.3 帮助编译器生成高性能代码

11.4 计算并行化

11.5 使用协程

11.6 总结

问题

进一步阅读

第四部分 云原生设计原则

第12章 面向服务的架构

12.1 技术要求

12.2 理解面向服务的架构

12.3 采用消息传递原则

12.4 使用Web服务

12.5 利用托管服务和云厂商

12.6 总结

问题

进一步阅读

第13章 微服务设计

13.1 技术要求

13.2 深入微服务

13.3 构建微服务

13.4 观测微服务

13.5 连接微服务

13.6 扩展微服务

13.7 总结

问题

进一步阅读

第14章 容器

14.1 技术要求

14.2 重新介绍容器

14.3 构建容器

14.4 测试和集成容器

14.5 容器编排

14.6 总结

问题

进一步阅读

第15章 云原生设计

15.1 技术要求

15.2 云原生

15.3 使用Kubernetes编排云原生工作负载

15.4 分布式系统中的可观测性

15.5 使用服务网格连接服务

15.6 走向GitOps

15.7 总结

问题

进一步阅读

附录

问题解答

现代C++软件架构:方法与实践是2023年由机械工业出版社出版,作者[美] 彼得亚雷·加奇科夫斯基。

得书感谢您对《现代C++软件架构:方法与实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
现代软件工程 电子书
软件工程学是一门理论性和实践性都很强的学科,它采用工程化的概念、理论、技术和方法来指导开发与维护计算机软件。本书系统、全面地介绍了现代软件工程技术,在软件工程的概念、原理、方法及其应用等方面有较详尽的论述,具有较强的系统性和可读性。本书较为详细地介绍了软件生存周期、传统软件工程、软件工程过程、面向对象软件工程和软件体系结构等的思想和实现方法,力图反映软件工程领域的新发展,内容包括:软件和软件工程、
分布式架构原理与实践 电子书
本书从软件结构的发展历史入手,描述了分布式架构的特性和存在的问题,并围绕这些问题展开了分析和实践。
现代咨询方法与实务 电子书
本书共九章,分别是数据采集与知识管理、工程咨询常用方法、市场需求预测、市场战略分析、资金时间价值及经济比选分析、工程项目投资估算、融资方案分析、工程项目财务分析、工程项目经济分析。
现代C++语言核心特性解析 电子书
通过理论结合实践的内容编排,深入探讨C11到C20引入的语言核心特性。
软件工程原理与方法(微课版) 电子书
随着信息技术的发展,软件已经深入到人类社会生产和生活的各个方面。软件工程是软件开发经验总结的理论课程,具有很强的实践性。本书覆盖软件系统完整的生命周期中的软件活动,从需求、分析、设计、实现到维护、以及软件质量保证。全书共11章,主要内容包括绪论、软件工程要素、需求分析、面向对象思想与范型、面向对象分析、软件系统设计、软件实现、软件质量保证、软件生命周期模型、综合案例实践。