Fügen Sie Funktionen zu dem Handler hinzu, den Sie in der vorherigen Lerneinheit erstellt haben.
In dieser Lerneinheit arbeiten Sie direkt mit EGL-Quellcode. Sie beginnen dabei mit dem Schreiben einer EGL-Bibliothek. Eine Bibliothek kann Konstanten, Variablen und Funktionen enthalten, auf die jeweils über die verschiedenen Logikeinheiten in Ihrer Anwendung zugegriffen werden kann. Ein wichtiges Merkmal einer Bibliothek ist die Tatsache, dass Änderungen an einer Variablen für jede Logikeinheit verfügbar sind, die auf die Bibliothek zugreift. Der Schwerpunkt in dem vorliegenden Lernprogramm liegt jedoch auf Funktionen, die Sie in einer Bibliothek platzieren, um die Verwaltung von identischer, vielerorts verwendeter Logik an mehreren Positionen zu vermeiden.
Sie können zur Bearbeitung bestimmter allgemeiner Fragen das MVC-Framework von EGL (MVC = Model View Controller) verwenden, das vom Projekt com.ibm.egl.rui bereitgestellt wird. Zwar beschreiben die Initialen "MVC" in der Regel die verschiedenen Komponenten einer Unternehmensanwendung, das MVC-Framework in Rich-UI bezieht sich jedoch ausschließlich auf die Komponenten einer Benutzerschnittstelle. Hier bezeichnet der Begriff model (Modell) ein variables Feld oder ein Datensatzfeld, view (Sicht) ist ein Widget und controller (Controller) ist eine Deklaration, die die Datenübertragung zwischen dem Modell und der Sicht überwacht. Die Datenübertragung erfolgt manchmal automatisch und manchmal in Form einer Antwort auf einen Funktionsaufruf, wie unten dargestellt.
Mit den Drag-and-drop-Aktionen aus der vorherigen Lerneinheit wurden nicht nur Controller-Deklarationen hinzugefügt, sondern auch ein Formularmanager. Dieser stellt eine Deklaration dar, mit dessen Hilfe Sie andere Deklarationen als Komponenten eines einzigen Formulars betrachten können. Ein Formularmanager umfasst eine Gruppe von Formularfeldern, die jeweils eine Bezeichnung, einen Controller und ein Fehlerfeld enthalten können.
EGL hat eine Stubfunktion namens inputRec_form_Submit erstellt. Mit dieser Funktion sollen alle Felder in dem Formular geprüft und “festgeschrieben” werden. Die Festschreibung gehört zur MVC-Implementierung und bedeutet, dass der Datensatz inputRec mit den Werten in den Widgets aktualisiert wird.
Sie fügen Code hinzu, um zwei andere Funktionen aufzurufen. Die erste Funktion macht die Abbildung processImage sichtbar und lässt den Benutzer auf diese Weise wissen, dass die Anwendung funktioniert. Mit der zweiten Funktion wird der Service zur Berechnung der Hypothekenzahlung aufgerufen.
if(inputRec_form.isValid())
inputRec_form.commit();
showProcessImage();
calculateMortgage();
else
errorLabel.text = "Input form validation failed.";
end

function showProcessImage()
processImage.visible = yes;
end
function hideProcessImage()
processImage.visible = no;
end
function calculateMortgage()
call mortService.amortize(inputRec)
returning to displayResults
onException handleException;
end
function displayResults(retResult MortgageCalculationResult in)
paymentLabel.text = MortgageLib.formatMoney(retResult.monthlyPayment as STRING);
inputRec_form.publish();
hideProcessImage();
end
Angesichts dieser Ereignisfolge wird die formularbasierte Funktion publish oft in der hier beschriebenen Art aufgerufen: in einer Rückruffunktion, die Daten von einem Service empfängt.
Gehen Sie wie folgt vor:
Nun können Sie die Berechnungsfunktion testen.
In der nächsten Lerneinheit erstellen Sie ein Kreisdiagramm, um bei einer gegebenen Berechnung das Gesamtkapital mit den Gesamtzinsen zu vergleichen.