开发优秀的C++程序并非易事。随着项目变得更大,使用C++开发高可靠性和易维护的软件变得更加困难,而且会涉及许多新概念。正如木匠建造一栋房屋所获取的经验不适用于建造一栋摩天大楼一样,从开发小型C++项目那里学到的许多技术经验和实践经验也不能直接扩展运用至大型项目开发。
本书是关于如何设计超大型高质量软件系统的。本书适合经验丰富、努力构造易于维护且高度可测试的软件体系结构的C++开发者。本书不是关于编程理论方法的书籍,而是引导开发者成功开发大型C++项目的全面实用指南。本书是精通C++的程序员在开发大型多站点系统方面多年经验的总结。我们将会展示如何设计一个需要数以百计的程序员、成千上万的类和上百万行C++源代码的系统。
本章涉及使用C++开发大型项目时所遇到的某些问题,并为前几章要做的基础工作提供背景知识介绍。本章使用了许多未定义的术语,大部分术语应该能够根据上下文理解。后面的章节会更精确地定义这些术语。实际的效果将在第5章给出,在第5章我们开始应用具体的技术以减少C++系统中的耦合(即相互依赖的程度)。