Design Patterns
Elements of Reusable Object-Oriented Software
Summary:
The book categorizes and presents a collection of design patterns that provide solutions to common software design problems, with each pattern described in terms of its purpose, applicability, structure, and consequences. It serves as a foundational text for understanding and applying object-oriented design principles to create flexible, reusable, and maintainable software.
Key points:
1. Encapsulation: This principle hides how objects function and interact, allowing system changes without affecting other parts. It's key in object-oriented design for proper object isolation.
Books similar to "Design Patterns":
Head First Design Patterns
Eric Freeman|Elisabeth Robson
Object-Oriented Programming in C++
Robert Lafore
Patterns of Enterprise Application Architecture
Fowler Martin
Think Like a Programmer
V. Anton Spraul
Pragmatic Programmer, The
Hunt Andrew|Thomas David
Domain-Driven Design
Evans Eric
Clean Architecture
Robert C. Martin
Game Programming Patterns
Robert Nystrom
Pragmatic Programmer, The
David Thomas|Andrew Hunt
About Face
Alan Cooper|Robert Reimann|David Cronin|Christopher Noessel