En Diseño funcional, el reputado ingeniero de software Robert C. Martin («Uncle Bob») explica cómo y por que utilizar la programación funcional para crear sistemas mejores para clientes reales. Martin compara las estructuras de la programación convencional orientada a objetos en Java con las que permiten los lenguajes funcionales, identifica los mejores roles para cada una y muestra cómo crear sistemas mejores utilizándolos correctamente en cada contexto.
El enfoque de Martin es pragmático, con una teoría mínima, y se centra en la solución de problemas «desde las trincheras». A traves de ejemplos accesibles, los desarrolladores profesionales descubrirán cómo el lenguaje Clojure, rico a nivel semántico y fácil de aprender, puede ayudarles a mejorar la limpieza del código, el diseño, la disciplina y los resultados. Martin examina los conocidos principios SOLID y los patrones de diseño Gang of Four desde una perspectiva funcional, y revela por que los patrones siguen teniendo un gran valor para los programadores funcionales, y cómo usarlos para conseguir resultados superiores.
* Entienda conceptos básicos funcionales: inmutabilidad, datos persistentes, recursividad, iteración, pereza y programas con estado.