Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software by Eric Freeman Back to product details page >