Hirestack
Hirestack
Chapter 21

Master reading list

📖 2 min read · 3 sections · May 2026

Books — for LLD specifically

  1. Head First Design Patterns — Eric Freeman et al. The most accessible introduction to the GoF patterns; uses Java examples.
  2. Design Patterns: Elements of Reusable OO Software (GoF) — Gamma, Helm, Johnson, Vlissides. The original 1994 book. Still relevant; reference.
  3. Clean Code — Robert C. Martin. The "how to write good methods, classes, comments" book. Strong opinions; useful to know.
  4. Refactoring — Martin Fowler. Catalogue of refactorings (Extract Method, Replace Conditional with Polymorphism, etc.). Pairs naturally with design pattern study.
  5. Domain-Driven Design — Eric Evans. For when LLD scope grows: how to model complex domains, aggregates, bounded contexts.
  6. Effective Java — Joshua Bloch. Java-specific best practices: immutability, equals/hashCode, builder pattern, etc.

Online resources

How to actually upgrade

  1. Try each of the 15 problems on a blank page before reading the walkthrough.
  2. Pick one pattern (Strategy, State, Observer) and implement it in code in your language of choice. Don't just read about it; write it.
  3. Read existing code that uses these patterns (Spring framework, Netty, even the Java standard library). See how production code applies them.
  4. Practice on actual problems from your day job. When you write a class, ask: which pattern (if any) applies? Why?
  5. Read other people's LLD designs and critique them — what would you do differently and why?