Christopher Alexander: an introduction for object-oriented designers
- 1 January 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSOFT Software Engineering Notes
- Vol. 19 (1) , 39-46
- https://doi.org/10.1145/181610.181617
Abstract
Software developers lament ``If only software engineering could be more like X...'', where X is any design-intensive profession with a longer and apparently more successful history than software. It is therefore both comforting and troubling to discover that the same fundamental philosophical, methodological, and pragmatic concerns arise in all of these Xs (see, for example, [23,33,43,46,18,45,48,50]). In part because it is considered as much artistry as engineering, writings about architecture have most extensively explored and argued out the basic underpinnings of design. Even within this context, the ideas of the architect Christopher Alexander stand out as penetrating, and bear compelling implications for software design.Keywords
This publication has 12 references indexed in Scilit:
- Computer support of architectural sketch design: a matter of simplicity?Environment and Planning B: Planning and Design, 1994
- Roles for composite objects in object-oriented analysis and designPublished by Association for Computing Machinery (ACM) ,1993
- Highly efficient and encapsulated re-use of synchronization code in concurrent object-oriented languagesPublished by Association for Computing Machinery (ACM) ,1993
- Documenting frameworks using patternsPublished by Association for Computing Machinery (ACM) ,1992
- Alexander patterns for design computing: atoms of conceptual structure?Environment and Planning B: Planning and Design, 1991
- The pattern language and its enemiesDesign Studies, 1990
- Assuring good style for object-oriented programsIEEE Software, 1989
- The Evolution of TechnologyPublished by Cambridge University Press (CUP) ,1989
- Designing Software for Ease of Extension and ContractionIEEE Transactions on Software Engineering, 1979
- On the criteria to be used in decomposing systems into modulesCommunications of the ACM, 1972