This book presents an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate software projects with complex domains. The book intertwines design and development practice, with numerous examples to illustrate the application of domain-driven design to real-world software development.
With 23 patterns that allow designers to create more flexible, elegant, and ultimately reusable designs this book describes what patterns are and how they can help you design object-oriented software. Furthermore, it covers how to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems.
Head First Design Patterns shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, you'll be able to take advantage of the best design practices and experiences of those who have fought the beast of software design and triumphed.