All software design is composition: the act of breaking complex problems down into smaller problems and composing those solutions. Most developers have a limited understanding of compositional techniques. It's time for that to change.
In "Composing Software", Eric Elliott shares the fundamentals of composition, including both function composition and object composition, and explores them in the context of JavaScript. The book covers the foundations of both functional programming and object oriented programming to help the reader better understand how to build and structure complex applications using simple building blocks.
You'll learn:
- Functional programming
- Object composition
- How to work with composite data structures
- Closures
- Higher order functions
- Functors (e.g., array.map)
- Monads (e.g., promises)
- Transducers
- Lenses
Table of Contents
- Thank You
- Composing Software: An Introduction
- The Dao of Immutability (The Way of the Functional Programmer)
- The Rise and Fall and Rise of Functional Programming (Composable Software)
- Why Learn Functional Programming in JavaScript?
- Pure Functions
- What is Functional Programming?
- A Functional Programmer's Introduction to JavaScript
- Higher Order Functions
- Curry and Function Composition
- Abstraction & Composition
- Abstract Data Types and the Software Crisis
- Functors & Categories
- Monads
- The Forgotten History of OOP
- Object Composition
- Factory Functions
- Functional Mixins
- Why Composition is Harder with Classes
- Composable Custom Data Types
- Lenses
- Transducers
- Elements of JavaScript Style
- Mocking is a Code Smell
All of this in the context of JavaScript, the most used programming language in the world. But the learning doesn't stop at JavaScript. You'll be able to apply these lessons to any language. This book is about the timeless principles of software composition and its lessons will outlast the hot languages and frameworks of today. Unlike most programming books, this one may still be relevant 20 years from now.
This book began life as a popular blog post series that attracted hundreds of thousands of readers and influenced the way software is built at many high growth tech startups and top tech companies.
ISBN
9781661212568
برند
Leanpub
تعداد صفحات
238
سال
2020

ایزی اگزم
نام مولف:
John Priece
نام ناشر:
Leanpub
متأسفانه این محصول در حال حاضر موجود نمی باشد