Documenting frameworks using patterns
- 31 October 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 27 (10) , 63-76
- https://doi.org/10.1145/141937.141943
Abstract
The documentation for a framework must meet several requirements. These requirements can all be met by structuring the documentation as a set of patterns, sometimes called a "pattern language". Patterns can describe the purpose of a framework, can let application programmers use a framework without having to understand in detail how it works, and can teach many of the design details embodied in the framework. This paper shows how to use patterns to document a framework, and includes a set of patterns for HotDraw as an example. Christopher Alexander, an architect, developed the idea of a "pattern language" to enable people to design their own homes and communities (Alexander et. al.). A pattern language is a set of patterns, each of which describes how to solve a particular kind of problem. His pattern language starts at a very large scale, explaining how the world should be broken into nations and nations into smaller regions, and goes on to explain how to arrange roads, parking, shopping, places to work, homes, and places of worship. The patterns focus on finer and finer levels of detail, passing though a discussion of how to arrange rooms in a house, and finally describing the type of material to use for walls, how to decorate rooms, and how to provide lighting. Alexander's pattern language is supposed to be a document that non-architects can use to design their own communities and homes. No specialized training is needed to use it. It focuses on common design problems that non-architects will encounter, like how to build bedrooms and row houses, rather than uncommon ones, like how to build concert halls and cathedrals.Keywords
This publication has 4 references indexed in Scilit:
- Smalltalk scaffolding: a case study of minimalist instructionPublished by Association for Computing Machinery (ACM) ,1990
- Contracts: specifying behavioral compositions in object-oriented systemsPublished by Association for Computing Machinery (ACM) ,1990
- Design reuse and frameworks in the smalltalk-80 systemPublished by Association for Computing Machinery (ACM) ,1989
- Object-oriented development in an industrial environmentPublished by Association for Computing Machinery (ACM) ,1987