Paketkonzept
- Umsetzung der Softwarestrukturierung in SAP ABAP
- Weiterentwicklung der vorhandenen Entwicklungsklassen mit neuer zusätzlicher Semantik
- Möglichkeit der Modularisierung, Kapselung und der Entkoppelung.
Vorerst werde ich bewusst auf die Möglichkeit der Kapselung und Entkopplung verzichten und mich vorrangig nur der Modularisierung widmen.
Mein erster Schritt war es, die benötigten Pakete anzulegen. Hierzu habe ich ein Hauptpaket sowie dazugehörige Unterpakete angelegt.
- ZSO5_ABAP_OO_TEMPLATE
- ZSO5_OO_TEMPLATE_DDIC
- ZSO5_OO_TEMPLATE_HELPER
- ZSO5_OO_TEMPLATE_INTERFACE
- ZSO5_OO_TEMPLATE_GUI
- ZSO5_OO_TEMPLATE_CORE
- ZSO5_OO_TEMPLATE_MODEL
Anhand der Namensräume werdet ihr schon jetzt erkennen, welche Absicht ich verfolge. In diesem Fall habe ich mich für das
Strukturmuster Model View Controller (MVC) entschieden.
...TEMPLATE_DDIC: | In diesem Paket sollen nur Dictionary-Objekte angelegt sowie verwaltet werden |
...TEMPLATE_HELPER: | In diesem Paket werden sollen nur sogenannte Helper Klassen angelegt werden |
...TEMPLATE_INTERFACE: | Dieses Paket wird dazu genutzt, eigene Interfaces zu platzieren |
...TEMPLATE_GUI: | Dieses Paket beinhaltet alle Komponenten die für die Präsentationslogik (View) benötigt werden |
...TEMPLATE_CORE: | Dieses Paket beinhaltet alle Komponenten die für die Programmsteuerung (Controller) benötigt werden |
...TEMPLATE_MODEL: | Dieses Paket beinhaltet alle Komponenten die für die Geschäftslogik (Model) benötigt werden |
Der nächste Schritt wird die Implementierung der benötigten Klassen sein. Hierfür habe ich mich für eine Mischung aus Singleton und Factory as known as "Object Pool Pattern" entschieden. Auch unser guter Naimesh hatte hierzu bereits einen eigenen Artikel verfasst.