Das Muster “Task abbrechen” bietet die Möglichkeit, eine Aufgabe zurückzuziehen, die aktiviert wurde oder bereits ausgeführt wird. Dadurch wird sichergestellt, dass die Ausführung nicht beginnt oder abgeschlossen wird. Dem Muster sind keine spezifischen Kontextbedingungen zugeordnet. Abbildung 27: Abbrechen des Aufgabenmusters mit garantierter Beendigung Ein Angebot erhält volle Unterstützung für dieses Muster, wenn es ein Konstrukt bereitstellt, das die Beschreibung für das Muster erfüllt. Wenn mit der Stornierung Nebenwirkungen verbunden sind (z. B. erzwungener Abschluss anderer Aufgaben, wobei die abgebrochene Aufgabe als abgeschlossen markiert wird), wird das Angebot als teilweise Unterstützung eingestuft. Unabhängig davon, ob Sie asynchronarbeiten oder nicht, ist das Akzeptieren eines CancellationToken als Parameter für Ihre Methode ein großartiges Muster, um ihrem Aufrufer zu ermöglichen, verlorenes Interesse am Ergebnis auszudrücken. Die allgemeine Interpretation des Abbruchaufgabenmusters wird in Abbildung 25 veranschaulicht. Der Trigger, der Aufgabe B aktiviert hat, wird entfernt, sodass die Aufgabe nicht fortgesetzt werden kann. Im Falle einer fehlerhaften Widerrufsbeltung samt Stornierungsfrist hat die tatsächliche, in der Regel langfristige Widerrufsfrist von 14 Tagen rechtlich nie begonnen. So können Sie Ihren Vertrag auch Jahre nach der Unterzeichnung widerrufen und mit den derzeit günstigen Zinsen refinanzieren.
Wenn Sie eine Immobilienfinanzierung vorzeitig abgeschlossen haben und Tausende von Euro Anzahlung zahlen mussten, können Sie diese auch nach einem Widerruf zurückfordern. Wenn das alte Darlehen nach der Stornierung storniert wird, können Sie auch mit einer weiteren Rückerstattung rechnen. Wenn Sie nach dem 1. November 2002 eine Immobilienfinanzierung abgeschlossen haben, lohnt es sich, Ihre Verträge genau zu betrachten. Verbraucherzentralen oder unsere Finanzexperten helfen Ihnen. Selbst ein wortgenauer Vergleich mit einer Beispielanweisung zeigt sofort Fehler auf. Ab dem Stichtag 01. November 2002 muss jedes Hypothekardarlehen eine rechtlich korrekte Kündigungspolitik enthalten.
Die von den Banken formulierten Klauseln halten selten einer genauen rechtlichen Kontrolle Stand, und selbst die Textmuster des Gesetzgebers wurden bereits vor Gericht angefochten. Es ist auch ein gutes API-Muster, um Ihr CancellationToken als letzten Parameter zu behalten, den Ihre Methode akzeptiert. Dies passt sowieso gut zu optionalen Parametern, da sie nach allen erforderlichen Parametern angezeigt werden müssen. Um ein + Rating (direkte Unterstützung) oder ein +/- Rating (Teilunterstützung) zu erreichen, sollte das Produkt das entsprechende Bewertungskriterium des Musters erfüllen. Andernfalls wird eine – Bewertung (keine Unterstützung) zugewiesen. Es gibt auch eine zweite Variante des Musters, bei der die Ausführung der Aufgabe bereits begonnen, aber noch nicht abgeschlossen ist. Dieses Szenario wird in Abbildung 26 dargestellt, in dem eine Aufgabe, die aktiviert wurde oder gerade ausgeführt wird, abgebrochen werden kann. Es ist wichtig, für beide Varianten zu beachten, dass der Abbruch nicht garantiert ist und es möglich ist, dass die Ausführung der Aufgabe bis zum Abschluss fortgesetzt wird. Tatsächlich funktioniert die Kündigungs- vs.-Fortsetzungsentscheidung als verzögerte Auswahl, wobei eine Racebedingung zwischen dem Abbruchereignis und der viel langsameren Aufgabe von Ressourcen, die auf Arbeitszuweisungen reagieren, eingerichtet wird.