Aknw Vertragsmuster

Die «fail hard»-Eigenschaft von DbC vereinfacht das Debuggen des Vertragsverhaltens, da das beabsichtigte Verhalten jeder Methode klar angegeben ist. Durch die Verallgemeinerung dieser Struktur können wir das, was wir den Anbietervertrag bereits genannt haben, von den individuellen vertraglichen Verpflichtungen unterscheiden, die im Falle von Anbieter-Verbraucher-Beziehungen bestehen, die wir nun Verbraucherverträge nennen. Akzeptiert und übernimmt ein Anbieter die von einem Verbraucher geäußerten berechtigten Erwartungen, schließt er einen Verbrauchervertrag ab. Schemas sowohl rückwärts- als auch vorwärts kompatibel zu machen, ist eine gut verstandene Designaufgabe, die am besten durch das Must-Ignore-Muster der Erweiterbarkeit ausgedrückt wird (siehe gthe papers von David Orchard und Dare Obasanjo). Das Must-Ignorieren-Muster empfiehlt, dass Schemas Erweiterbarkeitspunkte enthalten, die das Fügen von Erweiterungselementen zu Typen und zusätzlichen Attributen zu jedem Element ermöglichen. Das Muster empfiehlt auch, dass XML-Sprachen ein Verarbeitungsmodell definieren, das angibt, wie Verbraucher Erweiterungen verarbeiten. Das einfachste Modell erfordert, dass Verbraucher Elemente ignorieren, die sie nicht erkennen – daher der Name des Musters. Das Modell erfordert möglicherweise auch, dass Verbraucher Elemente verarbeiten, die das Flag «Muss verstehen» haben, oder abbrechen, wenn sie sie nicht verstehen können. Design by Contract kann auch die Wiederverwendung von Code erleichtern, da der Vertrag für jedes Codestück vollständig dokumentiert ist. Die Verträge für ein Modul können als eine Form der Softwaredokumentation für das Verhalten dieses Moduls betrachtet werden. Verbraucherorientierte Verträge bieten zwei wesentliche Vorteile, wenn es um die Entwicklung von Dienstleistungen geht. Zunächst konzentrieren sie die Spezifikation und Bereitstellung von Servicefunktionen auf wichtige geschäftliche Werttreiber.

Ein Dienst ist für das Unternehmen nur in dem Umfang von Wert, in dem er verbraucht wird. Verbraucherorientierte Verträge binden die Entwicklung von Dienstleistungen an den geschäftlichen Wert, indem sie den Wert exportfähiger Service-Community-Elemente behaupten – die Dinge, die die Verbraucher von Anbietern verlangen, um ihre Arbeit zu tun. Infolgedessen stellen Anbieter einen schlanken Vertrag offen, der eindeutig mit den Geschäftszielen, die ihren Verbrauchern zugrunde liegt, ausgerichtet ist. Veränderung – Die Entwicklung des Dienstes – tritt nur dort auf, wo die Verbraucher ein klares Bedürfnis zum Ausdruck bringen. Auf dieser Seite werden wir Muster katalogisieren, die in Verträgen verwendet werden. Wir haben eine Handvoll Prototypversionen von Vertragsmustern.