U knjizi Funkcionalni dizajn, poznati softverski inženjer Robert C. Martin (poznat kao Ujka Bob) objašnjava primenu funkcionalnog programiranja za izgradnju boljih sistema za krajnje korisnike. Martin poredi konvencionalne objektno-orijentisane strukture koda u Javi sa onima koje omogućava funkcionalno programiranje, identifikuje optimalne uloge za svaki pristup i demonstrira kako unaprediti sistem pažljivim korišćenjem oba pristupa u odgovarajućim kontekstima.
Martinov pristup je pragmatičan, s naglaskom na rešavanju stvarnih problema umesto teorijskog razmatranja. Kroz pristupačne primere, programeri će razumeti kako im jednostavan, semantički bogat jezik Clojure, može pomoći da unaprede čistoću koda, dizajn, disciplinu i rezultate. Martin istražuje poznate SOLID principe i Dizajnerske obrasce Četvoročlane Grupe iz funkcionalne perspektive, te otkriva zašto obrasci i dalje imaju veliku vrednost za funkcionalne programere i kako ih koristiti radi postizanja izuzetnih rezultata.
• Razumevanje osnova funkcionalnog programiranja uključuje koncepte kao što su nemutabilnost (immutability), perzistentni podaci, rekurzija, iteracija, lenjost (laziness) i stanje (statefulness)
• Kontrast funkcionalnog i objektnog pristupa programiranju kroz stručno osmišljene studije slučaja
• Istraživanje funkcionalnih dizajnerskih tehnika za tok podataka
• Korišćenje klasičnih SOLID principa za pisanje boljeg Clojure koda
• Usavršavanje pragmatičnih pristupa funkcionalnom testiranju, korisničkim interfejsima i konkurentnosti
• Upotreba dizajnerskih obrazaca u funkcionalnim okruženjima
• Vodjenje kroz izgradnju enterprise-level Clojure aplikacije
“Funkcionalni dizajn" je klasik, od samog početka. Bob ističe kako elementi funkcionalnog programiranja čine dizajn softvera jednostavnim, ali i pragmatičnim. On to čini na način koji je prihvatljiv i koristan za programere koji već imaju iskustvo sa C#, C++, ili Javom.- Janet A. Carr, Independent Clojure Consultant