Design patterns offer proven opportunities for creating flexible, reusable software -- but until now, their complexity has prevented most software professionals from taking full advantage of them. Now, there's a simple, gentle introduction to patterns that helps software practitioners gain the benefits -- without the confusion. Unlike many books on patterns, Design Patterns Explained doesn't assume that its readers already have an in-depth understanding of object-oriented design. Rather, it teaches object-oriented design and patterns together, helping developers gain deeper insights into both topics far more quickly. Shalloway and Trott don't just introduce a laundry list of patterns: they explain why each pattern works, the organizing principles upo...