ABAP OO | Paketkonzept

  • Mittwoch, 09. März 2016 11:18
Artikel bewerten
(0 Stimmen)

In diesem Artikel würde ich euch gerne das Paketkonzept in Verwendung von ABAP OO vorstellen. Derzeit beschäftige ich mich berufsbedingt mit diesem Konzept, da wir gerade dabei sind, von der prozeduralen Entwicklung in die objektorientierte Entwicklung umzustellen. Hierzu habe ich mich auf die Suche nach diversen Lektüren gemacht und bin glücklicherweise schnell fündig geworden.

In diesem Artikel möchte ich euch über meine Erfahrungen sowie mein eigenes Verständnis berichten. Ich muss zugeben, dass ich mich anfangs mit dieser Thematik sehr schwer getan habe. Jedoch denke ich, dass es durchaus sinnvoll sein kann, dieses Konzept umzusetzen. Ich denke, dass ich nicht das ganze Potenzial des Paketkonzeptes ausnutzen werde, da es wahrscheinlich nicht im vollen Ganzen benötigt wird. Jedoch konnte ich mir einige Ideen abkupfern, die ich euch hier gerne vorstellen möchte.

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.

 

Letzte Änderung am %PM, %09. %917 %2016 %21:%Mär
Kommentare einblenden

Copyright © 2017 ABAP-Workbench.de