AI简介
这是一本结合现代C++特性,详细介绍软件架构的实用方法及实践的书籍。书中探讨了如何在单体应用程序中使用成熟的设计模式,如何使应用程序具有健壮性、安全性、高性能和可维护性,以及如何使用面向服务的架构、微服务、容器和无服务器计算等架构模式构建连接多个单体应用程序的高级服务。
书中首先介绍了架构师的角色与技能,强调了架构师在软件开发过程中的关键作用,包括评估和计划所需的架构更改,以及有效管理相关方需求。架构师需要了解并管理这些相关方的需求,包括客户、系统用户和管理人员。他们需要了解这些群体关注的内容,例如客户可能关心编写和运行软件的成本、软件提供的功能等,而系统用户可能关心软件的易用性、性能等。
接着,书中深入探讨了C++的哲学思想,主要包含三条规则:C++底层不应该基于任何其他语言(汇编语言除外) ,只为使用的东西付费(不需要为没有使用到的语言特性付费) ,以及以低成本提供高级抽象(更高的目标是零成本提供高级抽象) 。
书中还详细介绍了有状态风格与无状态风格,单体风格与微服务,以及设计模式在C++软件设计中的应用。这些内容帮助读者理解不同的软件架构风格,以及如何使用设计模式来解决软件