March 28th, 2021 update
Well folks — as promised, I've composed the final outline and timeline for solidbook.io 🎉. I intend to finish writing solidbook.io mid August 2021.
Outline
The final version of the book is broken into the following sections. Each section has a number of chapters within them. The sections are very unlikely to change, but the chapters may jitter a little as we work towards completion and get feedback along the way.
- About this online book
- Introduction
-
Part I — Up to Speed
- Chapter 1 — Complexity & the World of Software Design
- Chapter 2 — Software Craftsmanship
- Chapter 3 — A 5000ft View of Software Design & Architecture
-
Part II — Humans & Code
- Chapter 4 — Demystifying Clean Code
- Chapter 5 — Human-Centered Design & Design Thinking
- Chapter 6 — Repositories & documentation
- Chapter 7 — Organizing things
- Chapter 8 — Naming things
- Chapter 9 — Comments
- Chapter 10 — Formatting & style
- Chapter 11 — Types
-
Part III — Phronesis
- Chapter 12 — Programming Paradigms
- Chapter 13 — Mindset & Development Methodology
- Chapter 14 — Planning
- Chapter 15 — Development
-
Part IV — Test-Driven Development Basics
- Chapter 16 — Introducing Test-Driven Development
- Chapter 17 — Test-Driven Development (Classic Style)
- Chapter 18 — Transformation Priority Premise
-
Part V — Object-Oriented Design (with tests)
- Chapter 19 — Object-Oriented Mechanics
- Chapter 20 — Object Calisthenics
- Chapter 21 — Refactoring
- Chapter 22 — Code Smells
-
Part VI — Design Principles
- Chapter 23 — The SOLID principles
- Chapter 24 — Abstraction principles
- Chapter 25 — Object collaboration principles
- Chapter 26 — Polymorphism principles
- Chapter 27 — Inheritance principles
- Chapter 28 — Simple Design
-
Part VII — Design Patterns
- Chapter 29 — Creational patterns
- Chapter 30 — Structural patterns
- Chapter 31 — Behavioural patterns
-
Part VIII — Architecture Essentials
- Chapter 32 — Demystifying Architecture
- Chapter 33 — Essential Architectural Concepts
- Chapter 34 — Architectural styles
- Chapter 35 — Architectural patterns
-
Part IX — Building Web Applications with Domain-Driven Design, Hexagonal Architecture and CQRS
- Chapter 36 — Domain-Driven Design
- Chapter 37 — An Advanced Web Application Implementation (the DDD app)
- Chapter 38 — Knowledge Crunching
- Chapter 39 — Domain Modeling
- Chapter 40 — Building the Walking Skeleton
- Chapter 41 — Feature #1: Creating a Member
- Chapter 42 — Feature #2: Upvoting a Post
- Chapter 43 — Feature #3: Get Popular Posts
- Chapter 44 — Summary of Key Design Patterns
-
Part X — Advanced Test-Driven Development
- Chapter 45 — Test Doubles
- Chapter 46 — London Style TDD (Outside-In/Mockist)
- Chapter 47 — Behavioural-Driven Design (Outside-In ATTD)
- Chapter 48 — Testing Trophy — The Best ROI?
- Chapter 49 — Testing within a Hexagonal Architecture
- Chapter 50 — Testing Legacy Code
- Chapter 51 — Testing Front-end Applications
-
Part XI — Above and beyond
- Chapter 52 — Software At Scale
-
Conclusion
- Summary
- For front-end developers
- Other software trends to pay attention to
- What to do next?
Timeline
I intend to finish the book by mid August 2021. Here's the timeline for each of the new sections in the book.
- Part I — Up To Speed by April 4th
- Part II — Humans & Code by April 16th
- Part III — Phronesis by April 30th
- Part IV — Test-Driven Development Basics by May 9th
- Part V — Object-Oriented Design w/ Tests by May 23th
- Part VI — Design Principles by June 5th
- Part VII — Design Patterns by June 13th
- Part VIII — Architecture Essentials by June 22nd
- Part IX — Building Web Applications with Domain-Driven Design, Hexagonal Architecture and CQRS by July 9th
- Part X — Advanced Test-Driven Development by July 23rd
- Conclusion, Introduction & Part XI — Above and beyond by Aug 5th
What about after the book is complete?
Constant improvements over time
What happens when the book is complete? I'll continue to update it periodically, take your feedback and make changes. You'll continue to be able to see what the latest improvements to the book were if you visit the changelog on the updates page.
Perhaps a physical copy (if interest)
If enough people are interested, I may consider creating a physical copy of this book!
Returning to the Domain-Driven Design course
Folks have been waiting quite some time to get their hands on the Domain-Driven Design course that I promised I'd create. Luckily, this book should act as an excellent primer to the course. Once solidbook.io is complete, I'm going to continue producing the Domain-Driven Design course.
Similar to what we've done here with solidbook.io, I'll create an outline and a timeline for when we can expect to see the course live! If you'd like to be notified about the progress, sign up here.