上QQ阅读APP看书,第一时间看更新
前言
每一位真正的软件工程师都希望自己变得更加卓越和高效。但是,有相当数量的一线工程师和大学高年级同学在掌握了基本的语言和编程框架之后,很难再上一个台阶,在能力和编程效率方面取得更大的突破。他们虽然也会去学习或了解领域驱动设计、测试驱动开发、重构、微服务等技术,但是往往会感觉这些知识入门容易、精通很难,更不要说把它们顺畅地应用在实际工作中。
产生这些阻碍的原因在于:单一的技术背后往往隐含着对软件设计能力的综合要求。例如,如果仅仅掌握了测试驱动开发的步骤,但是对软件设计的基本原则缺乏了解,就不可能做好测试驱动开发;如果仅仅掌握了领域驱动设计的概念,但是不具备良好的需求分析技能,领域模型就没有基础;如果没有掌握由外而内的编程技术,就很难做到高效。以上这些构成了撰写本书的首要目标:
基于现代软件工程实践,建立一个系统化的能力体系,为已经有一定编程经验,且期望提升效率的软件工程师提供一套完整的进阶指南。