Functional Design: Principles, Patterns, and Practices

· Addison-Wesley Professional
1 āŠ°āŠŋāŠĩāŦāŠŊāŦ‚
āŠ‡-āŠŠāŦāŠļāŦāŠĪāŠ•
384
āŠŠāŦ‡āМ
āŠļāŠūāŠ§āŠĻāŦ‹
āŠŠāŠūāŠĪāŦāа

āŠ† āŠ‡-āŠŠāŦāŠļāŦāŠĪāŠ• āŠĩāŠŋāŠķāŦ‡

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.

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

āŠ°āŦ‡āПāŠŋāŠ‚āŠ— āŠ…āŠĻāŦ‡ āŠ°āŠŋāŠĩāŦāŠŊāŦ‚

1 āŠ°āŠŋāŠĩāŦāŠŊāŦ‚

āŠēāŦ‡āŠ–āŠ• āŠĩāŠŋāŠķāŦ‡

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 cleancoders.com, 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") 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 cleancoders.com, offering online video training for software developers, and is founder of Uncle Bob Consulting LLC, offering software consulti...

āŠ† āŠ‡-āŠŠāŦāŠļāŦāŠĪāŠ•āŠĻāŦ‡ āŠ°āŦ‡āПāŠŋāŠ‚āŠ— āŠ†āŠŠāŦ‹

āŠĪāŠŪāŦ‡ āŠķāŦāŠ‚ āŠĩāŠŋāŠšāŠūāŠ°āŦ‹ āŠ›āŦ‹ āŠ…āŠŪāŠĻāŦ‡ āŠœāŠĢāŠūāŠĩāŦ‹.

āŠŪāŠūāŠđāŠŋāŠĪāŦ€ āŠĩāŠūāŠ‚āŠšāŠĩāŦ€

āŠļāŦāŠŪāŠūāŠ°āŦāПāŠŦāŦ‹āŠĻ āŠ…āŠĻāŦ‡ āŠŸāŦ…āŠŽāŦāŠēāŦ‡āП
Android āŠ…āŠĻāŦ‡ iPad/iPhone āŠŪāŠūāŠŸāŦ‡ Google Play Books āŠāŠŠ āŠ‡āŠĻāŦāŠļāŦāПāŦ‰āŠē āŠ•āŠ°āŦ‹. āŠĪāŦ‡ āŠĪāŠŪāŠūāŠ°āŠū āŠāŠ•āŠūāŠ‰āŠĻāŦāП āŠļāŠūāŠĨāŦ‡ āŠ‘āŠŸāŦ‹āŠŪāŦ…āПāŠŋāŠ• āŠ°āŦ€āŠĪāŦ‡ āŠļāŠŋāŠ‚āŠ• āŠĨāŠūāŠŊ āŠ›āŦ‡ āŠ…āŠĻāŦ‡ āŠĪāŠŪāŠĻāŦ‡ āŠœāŦāŠŊāŠūāŠ‚ āŠŠāŠĢ āŠđāŦ‹ āŠĪāŦāŠŊāŠūāŠ‚ āŠĪāŠŪāŠĻāŦ‡ āŠ‘āŠĻāŠēāŠūāŠ‡āŠĻ āŠ…āŠĨāŠĩāŠū āŠ‘āŠŦāŠēāŠūāŠ‡āŠĻ āŠĩāŠūāŠ‚āŠšāŠĩāŠūāŠĻāŦ€ āŠŪāŠ‚āŠœāŦ‚āаāŦ€ āŠ†āŠŠāŦ‡ āŠ›āŦ‡.
āŠēāŦ…āŠŠāŠŸāŦ‰āŠŠ āŠ…āŠĻāŦ‡ āŠ•āŠŪāŦāŠŠāŦāŠŊāŦāŠŸāŠ°
Google Play āŠŠāŠ° āŠ–āŠ°āŦ€āŠĶāŦ‡āŠē āŠ‘āŠĄāŠŋāŠ“āŠŽāŦāŠ•āŠĻāŦ‡ āŠĪāŠŪāŦ‡ āŠĪāŠŪāŠūāŠ°āŠū āŠ•āŠŪāŦāŠŠāŦāŠŊāŦāŠŸāŠ°āŠĻāŠū āŠĩāŦ‡āŠŽ āŠŽāŦāаāŠūāŠ‰āŠāŠ°āŠĻāŦ‹ āŠ‰āŠŠāŠŊāŦ‹āŠ— āŠ•āŠ°āŦ€āŠĻāŦ‡ āŠļāŠūāŠ‚āŠ­āŠģāŦ€ āŠķāŠ•āŦ‹ āŠ›āŦ‹.
eReaders āŠ…āŠĻāŦ‡ āŠ…āŠĻāŦāŠŊ āŠĄāŠŋāŠĩāŠūāŠ‡āŠļ
Kobo āŠ‡-āŠ°āŦ€āŠĄāŠ° āŠœāŦ‡āŠĩāŠū āŠ‡-āŠ‡āŠ‚āŠ• āŠĄāŠŋāŠĩāŠūāŠ‡āŠļ āŠŠāŠ° āŠĩāŠūāŠ‚āŠšāŠĩāŠū āŠŪāŠūāŠŸāŦ‡, āŠĪāŠŪāŠūāŠ°āŦ‡ āŠŦāŠūāŠ‡āŠēāŠĻāŦ‡ āŠĄāŠūāŠ‰āŠĻāŠēāŦ‹āŠĄ āŠ•āŠ°āŦ€āŠĻāŦ‡ āŠĪāŠŪāŠūāŠ°āŠū āŠĄāŠŋāŠĩāŠūāŠ‡āŠļ āŠŠāŠ° āŠŸāŦāаāŠūāŠĻāŦāŠļāŠŦāŠ° āŠ•āŠ°āŠĩāŠūāŠĻāŦ€ āŠœāŠ°āŦ‚āа āŠŠāŠĄāŠķāŦ‡. āŠļāŠŠāŦ‹āаāŦāПāŦ‡āŠĄ āŠ‡-āŠ°āŦ€āŠĄāŠ° āŠŠāŠ° āŠŦāŠūāŠ‡āŠēāŦ‹ āŠŸāŦāаāŠūāŠĻāŦāŠļāŦāŠŦāŠ° āŠ•āŠ°āŠĩāŠū āŠŪāŠūāŠŸāŦ‡ āŠļāŠđāŠūāŠŊāŠĪāŠū āŠ•āŦ‡āŠĻāŦāŠĶāŦāаāŠĻāŦ€ āŠĩāŠŋāŠ—āŠĪāŠĩāŠūāŠ° āŠļāŦ‚āКāŠĻāŠūāŠ“ āŠ…āŠĻāŦāŠļāŠ°āŦ‹.