Actionconfigurations
An dieser Stelle werden die “Actionconfigurations” näher erläutert.
Jede abstrakte Komponente besitzt genau eine zugehörige “Actionconfiguration”. Diese Konfiguration dient, wie der Name schon sagt, als Container für Aktionen. Aktionen sind all die Aktivitäten, die während dem verwenden einer Komponente auftreten können und nicht der Darstellung oder dem Datenfluss zwischen Komponenten dienen. Beispielesweise sobald ein Button gedrückt wird, eine Zeile markiert oder ein anderes Ereignis eintritt. Sehr oft werden innerhalb der Aktionen Serviceaufrufe oder komplexe Berechnungen durchgeführt. Ähnlich wie Komponenten verfügen Sie über definierte Ein- und Ausgangsschnittstellen, welche auch das “Selection” Interface implementieren.
Grundsätzlich ist nicht näher bestimmt wie eine Aktionkonfiguration aussieht. Sie wird beim Konstruktoraufruf wie die Resourcenconfiguration in die zugehörige Komponenten übergeben. Auf diese Weise sind die Konfigurationen lose an die zugehörige Komponente gekoppelt und können leicht ausgetauscht werden. Somit ist es beispielsweise möglich grafische Komponenten zu implementieren, welche zunächst unabhängig von einem Server getestet werden können, indem spezielle Test-Konfigurationen erstellt werden. Dies hat sich in der Praxis insbesondere als vorteilhaft erwiesen, wenn GUI und Servercode von unterschiedlichen Personen/Teams implementiert wird.
Aber wie sieht so eine Konfiguration un eigentlich aus.
Zunächst einmal gibt das “IActionConfiguration” Interface lediglich die Methode “isComplete()” vor. Wenn sie die Aktionen selbst von aussen in die Konfiguration reichen, sollten Sie hier prüfen, ob auch alle Aktionen sinnvoll belegt sind. Ws hängt von ihrer Implementierung ab, wie sie diese Methode verwenden wollen. Ich empfehle in dieser Methode grundsätzlich “true” zurück zu geben, da es sich in der Praxis als vorteilhaft erwiesen hat, Aktionen grundsätzlich neu zu erzeugen und die Konfiguration als Sammlung von Fabrikmethoden zu verstehen. Die Fabrikmethoden erzeugen dann bei jedem aufruf eine neue Instanz der Aktion, welche somit nebenläufig ausgeführt werden können.
Konventionen für “Aktionen” und “Actionconfigurations”
- Jede fachliche Komponente verfügt über genau eine zugehörige Aktionkonfiguration.
- Aktionen haben eine separate In- und eine Out-Selection, welche sich voneinander unterscheiden können.
- Aktionen und Actionconfigurations sind ein optionaler Bestandteil des POC-UI Konzeptes. Es ist auch möglich POC-UI zu verwenden, ohne das Aktionkonzept zu verwenden.