Functional Design: Principles, Patterns, and Practices (Paperback)

Robert C. Martin

  • 出版商: Addison Wesley
  • 出版日期: 2023-09-21
  • 售價: $1,800
  • 貴賓價: 9.5$1,710
  • 語言: 英文
  • 頁數: 384
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 0138176396
  • ISBN-13: 9780138176396
  • 相關分類: JVM 語言Java 程式語言軟體工程
  • 立即出貨



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

"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

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.





- 理解函數式基礎知識:不可變性、持久化數據、遞歸、迭代、惰性和狀態性
- 通過精心設計的案例研究對比函數式和面向對象的方法
- 探索數據流的函數式設計技巧
- 使用經典的SOLID原則來撰寫更好的Clojure程式碼
- 掌握實用的函數式測試、GUI和並發技巧
- 在函數式環境中充分利用設計模式
- 逐步構建一個企業級Clojure應用程式





Robert C. Martin ("Uncle Bob") wrote his first line of code at the age of 12 in 1964 and has been employed as a programmer since 1970. He is cofounder of, offering online video training for software developers, and is founder of Uncle Bob Consulting LLC, offering software consulting, training, and skill development services to major corporations worldwide. He served as the Master Craftsman at 8th Light, Inc., a Chicago-based software consulting firm. Mr. Martin has published dozens of articles in various trade journals, authored many books, and is a regular speaker at international conferences and trade shows.


Robert C. Martin(暱稱Uncle Bob)在1964年12歲時寫下了他的第一行程式碼,自1970年以來一直從事程式設計師的工作。他是cleancoders.com的共同創辦人,該網站提供軟體開發者的線上視訊培訓,並且是Uncle Bob Consulting LLC的創辦人,該公司為全球主要企業提供軟體諮詢、培訓和技能發展服務。他曾擔任芝加哥軟體諮詢公司8th Light, Inc.的首席工匠。Martin先生在各種專業期刊上發表了數十篇文章,撰寫了許多書籍,並經常在國際會議和貿易展覽上演講。