En ‘Diseño funcional’, el reputado ingeniero de software Robert C. Martin («Uncle Bob») explica cómo y por qué 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 través 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 qué 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.
* Contraste los enfoques funcionales y de objetos a través de casos prácticos elaborados con cuidado.
* Explore técnicas de diseño funcional para el flujo de datos.
* Use principios SOLID clásicos para escribir mejor código Clojure.
* Domine enfoques pragmáticos respecto a las pruebas funcionales, las GUI y la concurrencia.
* Aproveche al máximo los patrones de diseño en entornos funcionales.
* Cree paso a paso una aplicación de clase empresarial en Clojure.