Head First - Design Patterns - codes