'Patterns expose knowledge about software construction that has been gained by experts over many years. All work on patterns should therefore focus on making this precious resource widely available. Every software developer should be able to use patterns effectively when building software systems. When this is achieved, we will be able to celebrate the human intelligence that patterns reflect, both each individual pattern and in all patterns in their entirety.'
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerland and M. Stal 'A Final Remark', Pattern-Oriented Software Architecture (1996), p. 428.
This introductory chapter about software patterns presents some basic concepts, such as definition, description, languages and systems and categories. This chapter also addresses key questions related to software patterns, such as 'What are patterns?' and 'How are patterns documented?'