Head First Design Patterns

Overall

‘Head first’ series is designed for intuition. This one is especially useful in that it tries to pick the most frequently used patterns, and explain those in a fun way.

Not only that, it also emphasizes on the principles of object-oriented code, namely:

  • Encapsulate what varies
  • Favor composition over inheritance
  • Program to interface, not implementation
  • Strive for loosely coupled modules
Share Comments