Generierungsvariante 1: Interface und Regel-Modul (empfohlen)
LF‑ET bietet für einige Programmiersprachen auch die Möglichkeit, die Steuerlogik der Entscheidungstabelle über ein generiertes Interface von einer konkreten Implementierung zu entkoppeln.
Diese Generierungsvariante ermöglicht die Generierung von Programmcode, ohne dass in den Entscheidungstabellen selbst zwingend irgendwelche programmspezifischen Angaben gemacht werden müssen.
Bei dieser Generierungsvariante wird zuerst das Interface generiert:
-
Zu jedem Bedingungswert wird eine "is-Methode" definiert
-
Zu jedem Aktionswert wird eine "do-Methode" definiert
-
Die Methodennamen werden automatisch aus den Titeln und Symbolen der Bedingungs- und Aktionswerte abgeleitet
-
Jede Methode erhält automatisch einen Kommentar, der aus allen verfügbaren Informationen aus der Entscheidungstabelle (Titel, Symbole, Texte, etc.) zusammengestellt wird
-
Zusätzlich wird noch für den Trace-Code eine Methode definiert
Anschließend wird die Klasse mit der eigentlichen Steuerlogik (Rules-Engine, Regelmodul) generiert:
-
Die Klasse enthält nur eine Methode "execute" mit dem Interface als Parameter
-
Die Rules-Engine benutzt nur die im generierten Interface definierten Methoden
Eine gute Einführung dazu beginnt z.B. hier: Java aktivieren und einrichten
Vorteile
-
Weder die Entscheidungstabelle, noch das generierte Interface, noch das generierte Regelmodul, enthalten anwendungsspezifischen Sourcecode
-
Maximale Entkopplung der Steuerlogik (d.h. Entscheidungstabelle) von einer konkreten Implementierung
-
Mehrere Implementierungen derselben Logik sind möglich (z.B. in unterschiedlichen Projekten oder für unterschiedliche Technologien), Basis für jede Implementierung ist immer das generierte Interface