The OOD Reading List
Object Oriented Programming
Domain Driven Design
Design Patterns
Refactoring
and
Everything
OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.
…Alan Kay, the originator of the Object Oriented concept
—
the essence of the object-oriented idea is … that when we structure programs out of little cells that only communicate with using messages, and those cells are also built of cells communicating with messages, and so on all the way down, it becomes very easy to extend, rearrange, and compose our programs
…Avdi, from
RubyTapas Episode #357: Object Oriented Programming
———
“…by any measure, OO is a huge topic…” – here a few books on Object Oriented Programming:
- Practical Object Oriented Design in Ruby – Sandi Metz
- Objects on Rails – Avdi
- Confident Ruby – Avdi
- Object-Oriented Software Construction – Bertrand Meyer
- Smalltalk Best Practice Patterns – Kent Beck
- Domain-Driven Design: Tackling Complexity in the Heart of Software – Eric Evans
- Programming Ruby – Dave Thomas
- Refactoring – Martin Fowler
- Patterns of Enterprise Application Architecture – Martin Fowler
- Design Patterns – the “Gang of Four” (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
- Agile Software Development, Principles, Patterns, and Practices – “Uncle Bob” (Robert C. Martin)
- Object Oriented Software Engineering: A Use Case Driven Approach – Ivar Jacobson
- Object Design: Roles, Responsibilities, and Collaborations – Rebecca Wirfs-Brock, Alan McKean
- Growing Object-Oriented Software, Guided by Tests – Steve Freeman, Nat Pryce
- Fundamentals of Object-Oriented Design in UML – Meilir Page-Jones