Skip to main content

Was ist ein Design von Vertrag ?

Entwurf durch Vertrag ist eine Methode zur Entwicklung von Software, die auf der Einrichtung gut definierter Schnittstellenparameter oder Verträge für alle Teile eines Programms beruht.Obwohl Design durch Vertrag reg;Kann als ein konzeptioneller Entwicklungsstil angesehen werden, der durch Dokumentation oder Modellierung implementiert wird, wird in einigen Programmiersprachen, die tatsächlich die implizite Codierung der Verträge innerhalb eines Programms erfordert, auf einen nativen oder Drittanbieter-Mechanismus in einigen Programmiersprachen impliziert.Das Ziel bei der Verwendung von Design nach Vertrag ist, dass ein Programm entwickelt und letztendlich auf eine viel vollständigere Weise codiert wird, die trivialere Fehler beseitigt, während die Durchsetzung der Verträge durch die unterstützende Sprache alle Restfehler leicht zu finden und erfasst wird.Ein Programm, das Verträge für Funktionen und Klassen verwendet, kann ein modulareres Design haben, bei dem einzelne Klassen aufgrund der klaren Definition ihrer Verträge leicht wiederverwendet werden können.

Die Grundlage für das Design nach Vertrag Die Programmierphilosophie ist die Idee von Geschäftsverträgen in der realen Welt.In diesem Modell definiert jede Methode und Klasse in einem objektorientierten Programm einen Vertrag, mit dem eine andere Methode oder eine andere mit ihm interagierende Methode einhalten muss.Jede Klasse kann auch einen Vertrag haben, der als Klasseninvariante bezeichnet wird, dass sie intern befolgen muss, um sicherzustellen, dass externe Verträge ihre Funktionsfähigkeit nicht beeinträchtigen.und die Post-Konditionen.Diese beiden Teile des Designs durch Vertrag Modell definieren den Status des Programms, bevor eine Methode aufgerufen wird, und den Status des Programms, nachdem die Methode ausgeführt wurde.Andere Teile eines Vertrags können je nach Implementierung variieren, umfassen jedoch Querverweise auf andere Module, Synchronisationsbedingungen und Anforderungen an die Ausführung.

Durch die Entwicklung von Verträgen für jede Klasse und Methode kann die Interaktion der verschiedenen Teile eines Programms könnenleicht zugeordnet und vorhergesagt werden.Die Durchsetzung der Verträge, entweder durch die Verwendung von Behauptungen oder anderen Mechanismen, stellt auch sicher, dass das Programm nicht ausführen wird, wenn es einen Verstoß gegen Verträge gibt, da jede in diesem Zustand erzeugte Ausgabe ohnehin technisch ungültig wäre.Bei der Implementierung als Muttersprachenfunktion, entwerfen Sie nach Vertrag kann helfen, sicherzustellen, dass ein Endprodukt wie erwartet funktioniert, wobei kaum eine Chance auf unvorhergesehene Fehler ist.

Einige der Komplikationen, die mit der Verwendung des Designs durch Vertragsnutzung einhergehen;Die Philosophie umfasst längere Designzeiten und eine stärkere Entwicklung eines Systems vor dem Codieren, was bei einem großen Projekt manchmal schwierig sein kann.Praktischer kann der in einer Programmiersprache verwendete Vertragsvalidierungsmechanismus, der Verträge nativ unterstützt, die Programmausführung verlangsamen.Ein schlechtes Verständnis des Designs durch Vertrag Die Methodik kann zu einem Programm führen, das Verträge verwendet, um eine grundlegende Fehlerprüfung durchzuführen, was möglicherweise zu einer Anwendung führt, die nach der Veröffentlichung plötzliche Abstürze ist.