第 8 章 设计和架构的原则

软件开发最重要的设计工具不是什么技术,而是一颗在设计原则方面训练有素的头脑。

—— Craig Larman

通过前面的学习,我们认识到Lambda表达式是对Java语言的一点简单改进,在JDK标准类库中,运行它的方式各种各样。但是大多数Java代码都不是由开发JDK的程序员写的,而是像你我这样的普通程序员。为了最大限度发挥Lambda表达式的优势,大家需要将其引入已有代码中。作为一名职业Java程序员,Lambda表达式没有什么特别的,和接口、类一样,它只是程序员工具箱中的一件新工具。

本章将探索如何使用Lambda表达式实现SOLID原则,该原则是开发良好面向对象程序的准则。使用Lambda表达式,还能改进一些现有的设计模式,本章也会为大家简要介绍几个这样的例子。

和同事一起工作时,肯定会遇到这样的情况:你实现了一个新功能或修复了一个缺陷,并且对自己的修改很满意。但其他人看了你的代码后——也许发生在代码审查环节,完全不买账!对于什么是好代码,什么是坏代码,存在分歧很正常。

大多数时候,人们意见不统一,是他们各自都有自己的想法。审查你代码的人可能会选择另一种实现方式,这并不是说你们俩谁对谁错。引入Lambda表达式后,又多了一个话题。这并不是说该功能本身有多复杂,或者需要花大力气去争论,而是人们在讨论设计问题时又多了一项谈资。

本章旨在帮助大家写出优秀的程序,我会给出一些良好的设计原则和模式,在此基础之上,就能开发出可维护且十分可靠的程序。我们不光会用到JDK提供的崭新类库,而且会教大家如何在自己的领域和应用程序中使用Lambda表达式。