Functional Design: Principles, Patterns, and Practices (Robert C. Martin Series)
Robert C. MartinMartin's approach is pragmatic, minimizing theory in favor of "in the-trenches" problem-solving. Through accessible examples, working developers will discover how the easy-to-learn, semantically rich Clojure language can help them improve code cleanliness, design, discipline, and outcomes. Martin examines well-known SOLID principles and Gang of Four Design Patterns from a functional perspective, revealing why patterns remain extremely valuable to functional programmers, and how to use them to achieve superior results.
• Understand functional basics: immutability, persistent data, recursion, iteration, laziness, and statefulness
• Contrast functional and object approaches through expertly crafted case studies
• Explore functional design techniques for data flow
• Use classic SOLID principles to write better Clojure code
• Master pragmatic approaches to functional testing, GUIs, and concurrency
• Make the most of design patterns in functional environments
• Walk through building an enterprise-class Clojure application