An engineering manager's guide to design patterns - Freeman, Eric, 1965-; Robson, Elisabeth (O'Reilly, 2015)
While off-the-shelf libraries and frameworks have greatly simplified the development process, they can't help you structure applications that are maintainable, flexible, and easy to understand. In this O'Reilly report, authors Eric Freeman and Elisabeth Robson show you how object-oriented design patterns are ideal for solving specific problems in application design. Instead of algorithms or code, design patterns are all about reusing the experience of developers who have devised well thought-out, time-tested solutions to object-oriented programming problems. Using O'Reilly's unique Head First methodology, this report details how a particular design pattern can solve a non-obvious design problem. You also get a Patterns Cheat Sheet that briefly describes several design patterns and provides tips for using patterns in general. This report explains why: Design patterns tell you how to structure classes and objects to solve certain problems They allow you to create flexible designs that are maintainable and cope with change It's your job to adapt a pattern to fit your particular application All design patterns provide a way to let some part of a system vary independently from all other parts Patterns provide a shared vocabulary that lets your team think at the pattern level, rather than at the nitty-gritty object level.