In this work, the authors recommend replacing the traditional approach of closed, black-box abstraction with what they call "open implementation." This allows application programmers to customize and extend the implementations of substrates below their systems. When programmers are given principled ways to tailor the substrate, applications can be simpler, easier to maintain, more powerful, and more efficient. A metaobject protocol is a design strategy that gives a system two interfaces: one that allows traditional application programming, another that allows incremental modifications of the underlying system's behaviour and implementation. This separation of concerns allows power to be increased without compromising modularity. Building on work first described in "The Art of the Metaobject Protocol", the authors show how metaobject protocols can be used to open several kinds of system software: programming languages, operating systems, distributed computing and databases. The text presents all examples in the C language, and employs an unusual graphical approach that resembles slides on an overhead projector.
- ISBN10 0262111926
- ISBN13 9780262111928
- Publish Date 28 February 1995 (first published 1 January 1994)
- Publish Status Out of Print
- Out of Print 10 April 2014
- Publish Country US
- Publisher MIT Press Ltd
- Imprint MIT Press
- Format Hardcover
- Pages 376
- Language English