{"product_id":"functional-design-robert-martin-9780138176396","title":"Functional Design: Principles, Patterns, and Practices","description":"\u003cp\u003e\u003cstrong\u003eA Practical Guide to Better, Cleaner Code with Functional Programming\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eIn \u003cem\u003e\u003cstrong\u003eFunctional Design\u003c\/strong\u003e\u003c\/em\u003e, 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.\u003c\/p\u003e \u003cp\u003eMartin'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.\u003c\/p\u003e \u003cul\u003e \u003cli\u003eUnderstand functional basics: immutability, persistent data, recursion, iteration, laziness, and statefulness\u003c\/li\u003e \u003cli\u003eContrast functional and object approaches through expertly crafted case studies\u003c\/li\u003e \u003cli\u003eExplore functional design techniques for data flow\u003c\/li\u003e \u003cli\u003eUse classic SOLID principles to write better Clojure code\u003c\/li\u003e \u003cli\u003eMaster pragmatic approaches to functional testing, GUIs, and concurrency\u003c\/li\u003e \u003cli\u003eMake the most of design patterns in functional environments\u003c\/li\u003e \u003cli\u003eWalk through building an enterprise-class Clojure application\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\"Functional Design\u003cem\u003e 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.\"\u003c\/em\u003e\u003cbr\u003e--Janet A. Carr, Independent Clojure Consultant\u003c\/p\u003e \u003cp\u003e\u003cem\u003eRegister your book for convenient access to downloads, updates, and\/or corrections as they become available. See inside book for details.\u003c\/em\u003e\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAuthor:\u003c\/b\u003e Robert Martin\u003cbr\u003e\u003cb\u003eISBN-10:\u003c\/b\u003e 0138176396\u003cbr\u003e\u003cb\u003eISBN-13:\u003c\/b\u003e 9780138176396\u003cbr\u003e\u003cb\u003ePublisher:\u003c\/b\u003e Addison-Wesley Professional\u003cbr\u003e\u003cb\u003eLanguage:\u003c\/b\u003e English\u003cbr\u003e\u003cb\u003ePublished:\u003c\/b\u003e 09\/21\/2023\u003cbr\u003e\u003cb\u003ePages:\u003c\/b\u003e 384\u003cbr\u003e\u003cb\u003eFormat:\u003c\/b\u003e Paperback\u003cbr\u003e\u003cb\u003eWeight:\u003c\/b\u003e 1.30lbs\u003cbr\u003e\u003cb\u003eSize:\u003c\/b\u003e 9.00h x 6.90w x 0.80d","brand":"Robert Martin","offers":[{"title":"Paperback","offer_id":44128734380287,"sku":"9780138176396","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0662\/2982\/9887\/files\/img_f40c2b70-2f59-4db0-b42c-f31877d912e9.jpg?v=1687460240","url":"https:\/\/www.whiterainbookhouse.com\/products\/functional-design-robert-martin-9780138176396","provider":"WR Book House","version":"1.0","type":"link"}