本书是一本介绍用函数式编程方式编写更好、更整洁代码的实用指南。在本书中,有名软件工程师Robert C. Martin(Bob大叔)解释了为何使用函数式编程,以及如何做才能为客户构建更好的系统。Bob大叔将Java中传统的面向对象的编程结构与函数式语言所支持的编程结构进行了对比,确定了每种结构的作用,并展示了如何明智地在合理上下文中使用两者来构建更好的系统。
作风务实的Bob大叔能用最少的理论讲清并解决“真刀真枪”的实战问题。通过易于理解的示例,开发人员能发现易于学习且语义丰富的Clojure语言如何帮助他们提高代码的整洁性、设计性、纪律性和成效性。Bob大叔还从函数式的视角研究了有名的SOLID原则和GOF设计模式,揭示了模式对于函数式程序员仍极具价值的原因,以及使用它们来实现很好成效的方法。
通过阅读本书,你将能够:
?理解函数式编程基础:不变性、持久性数据、递归、迭代、惰性和状态性;
?通过精心设计的案例研究对比函数式方法和面向对象方法;
?探索数据流的函数式设计技术;
?使用经典的SOLID原则编写更好的Clojure代码;?
?掌握实现函数式测试、GUI和并发性的实用方法;
?在函数式编程中充分利用设计模式;
逐步构建企业级Clojure应用程序。