Bewertung:

Das Buch liefert wertvolle Einblicke in die funktionale Programmierung und die SOLID-Prinzipien, setzt aber ein gutes Verständnis von Clojure voraus, um den vollen Nutzen daraus zu ziehen. Die Druckqualität ist unterdurchschnittlich, was das Leseerlebnis insgesamt beeinträchtigt.
Vorteile:Großartiger Inhalt über funktionale Programmierung und die SOLID-Prinzipien, ausgezeichneter Kontrast zwischen FP und OOP und nuancierte Erklärungen, die häufige Missverständnisse in Frage stellen. Hilft, das Verständnis für beide Programmierparadigmen zu erweitern.
Nachteile:Erfordert Vorkenntnisse in Clojure, um den Inhalt vollständig zu erfassen. Die Druckqualität ist schlecht, mit gesprenkelten Seiten und dünnem Papier, das ein Durchscheinen verursacht.
(basierend auf 4 Leserbewertungen)
Functional Design: Principles, Patterns, and Practices
Ein praktischer Leitfaden für besseren, saubereren Code mit funktionaler Programmierung
In Functional Design erklärt der bekannte Software-Ingenieur Robert C. Martin ("Uncle Bob"), wie und warum man funktionale Programmierung einsetzt, um bessere Systeme für echte Kunden zu entwickeln. Martin vergleicht herkömmliche objektorientierte Codierungsstrukturen in Java mit denen, die durch funktionale Sprachen ermöglicht werden, identifiziert die besten Rollen für jede und zeigt, wie man bessere Systeme baut, indem man sie sinnvoll im Kontext einsetzt.
Martins Ansatz ist pragmatisch, er minimiert die Theorie zugunsten von Problemlösungen "in the-trenches". Anhand von verständlichen Beispielen erfahren Entwickler, wie die leicht zu erlernende, semantisch reichhaltige Sprache Clojure ihnen helfen kann, die Sauberkeit des Codes, das Design, die Disziplin und die Ergebnisse zu verbessern. Martin untersucht die bekannten SOLID-Prinzipien und Gang-of-Four-Muster aus einer funktionalen Perspektive und zeigt, warum Muster für funktionale Programmierer nach wie vor äußerst wertvoll sind und wie man sie einsetzen kann, um bessere Ergebnisse zu erzielen.
⬤ Verstehen Sie die funktionalen Grundlagen: Unveränderlichkeit, persistente Daten, Rekursion, Iteration, Faulheit und Zustandsabhängigkeit.
⬤ Kontrastieren Sie funktionale und objektorientierte Ansätze anhand von fachmännisch ausgearbeiteten Fallstudien.
⬤ Erforschen Sie funktionale Entwurfstechniken für den Datenfluss.
⬤ Klassische SOLID-Prinzipien anwenden, um besseren Clojure-Code zu schreiben.
⬤ Beherrschen Sie pragmatische Ansätze für funktionale Tests, GUIs und Nebenläufigkeit.
⬤ Entwurfsmuster in funktionalen Umgebungen optimal nutzen.
⬤ Gehen Sie durch den Aufbau einer Clojure-Anwendung der Unternehmensklasse.
Funktionales Design strahlt "klassisch auf den ersten Blick" aus. Bob zieht den Vorhang zurück, um zu zeigen, wie funktionale Programmierelemente das Softwaredesign einfach und dennoch pragmatisch machen. Er tut dies, ohne erfahrene objektorientierte Programmierer, die von Sprachen wie C#, C++ oder Java kommen, zu verprellen."
--Janet A. Carr, unabhängige Clojure-Beraterin.