One is to compile patterns from a domain into a book and hand it to system architects. Another is to develop a system to catalog these patterns and use a tool to extract a pattern appropriate to the problem at hand. Although patterns are often discovered during design, and using a pattern language will aid design, writing patterns is not part of a design methodology. Patterns are discovered from experience. Writing the patterns found in an application helps future developers of similar applications integrate the key architectural components.
Patterns exist in our software.
When they are documented, design wisdom can be leveraged by other projects in your company. C. Alexander, The Timeless Way of Building , Oxford University Press, New York, 1979. J Coplien and D. Schmidt, eds. Pattern Languages of Program Design Addison Wesley, Reading, Mass., May 1995. This Sidebar contains more pointers to information about patterns.