Design Patterns Explained A New Perspective on Object-Oriented Design (2nd Edition)

One of the great things about Design Patterns Explained is the way he explains concepts very simply using analogies rather than programming examples. This has been very inspiring for a product I’m working on: an audio-only introduction to OOP and software development. – Bruce Eckel

Contact the Author, to see how to bring our Design Patterns Thinking into your organization.



Part I: An Introduction to Object-Oriented Software Development

Chapter 1. The Object-Oriented Paradigm

Chapter 2. The UML—The Unified Modeling Language

Part II: The Limitations of Traditional Object-Oriented Design

Chapter 3. A Problem That Cries Out for Flexible Code

Chapter 4. A Standard Object-Oriented Solution

Part III: Design Patterns

Chapter 5. An Introduction to Design Patterns

Chapter 6. The Facade Pattern

Chapter 7. The Adapter Pattern

Chapter 8. Expanding Our Horizons

Chapter 9. The Strategy Pattern

Chapter 10. The Bridge Pattern

Chapter 11. The Abstract Factory Pattern

Part IV: Putting It All Together: Thinking in Patterns

Chapter 12. How Do Experts Design?

Chapter 13. Solving Our CAD/CAM Problem with Design Patterns

Part V: Toward a New Paradigm of Design

Chapter 14. The Principles and Strategies of Design Patterns

Chapter 15. Commonality and Variability Analysis

Chapter 16. The Analysis Matrix

Chapter 17. The Decorator Pattern

Part VI: Other Values of Patterns

Chapter 18. The Observer Pattern

Chapter 19. The Template Method Pattern

Part VII: Factories

Chapter 20. Lessons from Design Patterns: Factories

Chapter 21. The Singleton Pattern and the Double-Checked Locking Pattern

Chapter 22. The Object Pool Pattern

Chapter 23. The Factory Method Pattern

Chapter 24. Summary of Factories

Part VIII: Endings and Beginnings

Chapter 25. Design Patterns Reviewed: A Summation and a Beginning

Chapter 26. Bibliography

Annotated table of contents and related articles

Training and resources

Design Patterns Explained serves as the basis for our Technical Agility curriculum

Many universities use Design Patterns Explained in their advanced software development courses. The Answers to the Review Questions will help students working with the book

Visit the Technical Development Resources page for support information.

Second edition

First edition