继续整理本书本书的内容:
第十一章 系统
本章感觉更偏重Java语言本身,所以不做过多总结,总之,对于系统整体,可以通过运用合适的模式设计,保证系统的灵活性,引用部分原文的总结语:
系统应该是整洁的。在所有的抽象层级上,意图都应该清晰可辨。无论是设计系统或单独的模块,别忘了使用大概可以工作的最简单方案。
第十二章 迭进
有四条建议可以帮助我们创建具有良好设计的软件,让设计变得更“简单”:
1. 运行所有测试。
2. 不可重复。
3. 表达程序员意图。
4. 尽可能减少类和方法的数量。
第一条,是后面三条的基础和保证,只有可测试的系统才是可靠的可部署的,编写良好可以持续运行的测试会是系统更加贴合面向对象的低耦合高内聚的目标。
二到四条可以看作是代码重构的过程:消除重复,保证代码表达力与可读性,在这种前提下,减少类和方法数量。(关于重构的知识,可以参考Martin Fowler的《重构:改善既有代码的设计》,概述详细介绍了重构相关的知识。)