Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Wir schließen dieses Kapitel mit dem Blick auf einen Programmieransatz, der als Design by Contract ([DesignByContract]) bezeichnet wird und ursprünglich von Bertrand Meyer für die Sprache Eiffel entwickelt wurde (vgl. [Eiffel], [Hunt2000]; siehe auch Kapitel 4). Design by Contract gibt es schon um die 20 Jahre; es ist inzwischen etwas aus der Mode gekommen, aber immer noch sehr nützlich, wenn man über Anwendungsdesign nachdenkt.
Wenn man den »Kontrakt« eines Moduls betrachtet, kann man drei Arten von Bedingungen spezifizieren. Erstens kann man die Eingaben festlegen, die erforderlich sind, damit das Modul einen Service erfolgreich ausführen kann (z.B. beim Aufruf des Moduls). Diese Beschränkungen werden als Vorbedingungen (preconditions) bezeichnet. Zu ihnen können auch Systemanforderungen gehören, z.B. bestimmte globale Daten (die man normalerweise natürlich vermeiden sollte).