软件架构是指复杂应用程序的高级设计。它像我们使用的编程语言一样不断进化。现代C++允许开发人员在不牺牲可读性和可维护性的情况下,用高级语言编写高性能应用程序。如果你正在使用现代C++,那么本书将帮助你把相关知识应用到工作中,设计分布式大规模应用程序。
本书首先快速介绍架构概念,包括已建立的模式和不断上升的趋势;然后,详细阐释软件架构的概念及相关组件;接着,深入探索应用程序架构中涉及的设计概念和软件开发中涉及的模式,详细介绍构建、打包、集成和部署组件的方法,以及架构的不同质量属性,例如可维护性、可重用性、可测试性、性能、可伸缩性和安全性;最后,概述分布式系统,例如面向服务的架构、微服务和云原生设计,并简单介绍如何在应用程序开发中应用它们。
学完本书内容,你将能够使用现代C++和相关工具构建分布式服务,并根据客户的需求交付解决方案。
通过阅读本书,你将能够:
*了解软件架构的应用原则;
*应用设计模式和最佳实践来实现架构目标;
*使用新的C++特性编写优雅、安全、高性能的代码;
*构建易于维护和部署的应用程序;
*探索不同的架构实现方法,并根据需求应用它们;
*使用应用程序容器简化开发和运营;
*探索各种技术来解决软件设计和开发中常见的问题。