In the name of Allah the Merciful

Functional Design: Principles, Patterns, and Practices

Robert Martin, 0138176396, 978-0138176396, 9780138176396, 978-0138176518, 9780138176518, 978-0138176488, 9780138176488

10 $

English | 2023 | EPUB, Converted PDF | 5 MB

number
type
  • {{value}}
wait a little

A Practical Guide to Better, Cleaner Code with Functional Programming

In Functional Design,  renowned software engineer Robert C. Martin ("Uncle Bob") explains how  and why to use functional programming to build better systems for real  customers. Martin compares conventional object-oriented coding  structures in Java to those enabled by functional languages, identifies  the best roles for each, and shows how to build better systems by  judiciously using them in context.

Martin'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 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

"Functional Design exudes 'classic-on-arrival.' Bob pulls back the curtain to reveal how  functional programming elements make software design simple yet  pragmatic. He does so without alienating experienced object-oriented  programmers coming from languages like C#, C++, or Java."
--Janet A. Carr, Independent Clojure Consultant