Home
Patterns
Designing a software system from scratch is not easy. Over the years, software developers became aware that each time a new system was developed, similar design solutions to the problems encountered during development were found. These tried and proven design solutions to recurring problems in a specific software development context came to be known as Design Patterns. Catalogs of design patterns have been developed over the years that, in effect, act as handbooks of best practice when designing software.
One of the most widely known and applied is the Gang of Four (GoF) patterns catalog, which was first publicized in the book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The name GoF came about because the book had four authors and is still widely used today to describe the patterns set and specific patterns from this set.
Design patterns deal with small sections of the overall architecture of a software application typically involving only a few classes. They are different from architectural patterns, which deal with the architecture of a complete application or software system. We discuss architectural patterns later, as well as other patterns applicable to enterprise systems development.
ibm.com/redbooks