上QQ阅读APP看书,第一时间看更新
如何阅读本书
作为进阶指南
读者可以按顺序阅读本书的各章节。本书的初始目标是:支持已经掌握了基本的语言和编程框架的一线开发者,通过学习更系统的软件设计实践,成长为专业、高效的开发者。本书各章节的内容是循序渐进的,从第1章开始按序阅读有助于建立一个完整的体系。
当然,你也可以根据需要在各章节之间跳转。由于每一位开发者都或多或少地接触过某些知识点,所以本书的各章节尽量做到了彼此独立。如果你已经对一个话题比较了解,就可以跳过对应的章节,直接阅读感兴趣的部分。此外,书末包含索引,在其中可以找到各主要概念在本书中出现的位置。
作为藏宝图
本书被设计为一张藏宝图。它提供一个路线图,引导读者找到所需的宝藏。
卓越的软件设计涉及非常丰富的实践。本书追求全面而系统,所以不得不在细节上有所放弃,这也可以避免书太厚。尽管可以大幅展开任何一个章节,但是,把书变得更厚不但不会创造新的价值,还会徒增阅读难度。
在理解了根本性的原则之后,我希望读者通过阅读更多的经典书籍和大量练习加深理解。因此,在保证每个部分介绍的内容是完整的基础上,我刻意控制了每章的篇幅,把更具体的内容和做法指引到该领域的经典参考文献。读者可以通过参考文献的线索,自主进行知识检索,深入了解其中的关键实践。
形成团队设计共识
软件开发是集体活动。团队如果缺乏设计共识,设计出的代码就不可能易于扩展、易于维护,可能还会在具体的解决方案设计上产生不必要的摩擦。
本书介绍的设计实践特别关注了知识的全面性和系统性。它可以作为想要提升效率的研发团队集体学习和讨论的素材,希望大家可以在本书介绍的实践基础上,结合实际,形成和加深设计共识。