Friday, March 19, 2004
The notion of Design by Contract is central in the systematic approach to object-oriented software construction, as embodied in the Eiffel method. This article presents the key ideas.
In our opinion the techniques outlined below are as important as the rest of object technology -- as important as classes, objects, inheritance, polymorphism and dynamic binding, which they complement -- although only a subset of the O-O literature has so far devoted its attention to it. (See the references at the end of this paper.)
To go beyond the theoretical understanding provided by this paper and experience the practical power of its ideas, take a look at the Eiffel environment, which is their direct implementation.
NOTE: For a sobering reminder of the practical consequences of not applying the principles described in this article, see Put it in the Contract: The Lessons of Ariane, originally published in IEEE Computer and now available in these Web pages too.