Presents a catalog of simple solutions to commonly occurring design problems. These 23 patterns allow designers to create more reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are, and how they can help you design object-oriented software.Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. Note, though, that it´s not a tutorial but a catalog that you can use to find an object-oriented design pattern that´s appropriate for the needs of your particular application--a selection for virtuoso programmers who appreciate (or require) consistent, well-engineered object-oriented designs.