Globale Klassen oder Lokale Klassen

Getting started ... Alles für einen gelungenen Start.
21 Beiträge • Vorherige Seite 2 von 2 (current)
21 Beiträge Vorherige Seite 2 von 2 (current)

Re: Globale Klassen oder Lokale Klassen

Beitrag von msfox (Specialist / 364 / 56 / 74 ) »
ralf.wenzel hat geschrieben:
01.12.2022 09:26
OK, auf so ne schräge Idee bin
Ich auch nicht selbst. Ich hatte ein Vorlage von einem anderen "Externen" :) und fand die dann noch ausbaufähig.

Edit:
Ich finde auch die Verwendung von lokalen Klassen in der Factory sinnvoll. Damit wird der Verwender gezwungen auch die Factory-Methode zu nehmen, um sich ein Instanz zu holen.
Denn, wenn es ein globale Klasse ist, kann er sich die Instanz ja auch direkt von der Klasse selbst holen ohne über die Factory zu gehen.
Etwas anderes ist es, wenn ich mit Singleton arbeite. Hier stellt die Klasse selbst die get_instance() - Methode bereit uns ist selbst "private", womit dann nicht mit "new" oder create Instance arbeiten kann.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Globale Klassen oder Lokale Klassen

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
ralf.wenzel hat geschrieben:
01.12.2022 09:26
OK, auf so ne schräge Idee bin ich bisher nicht gekommen.... Aber so doof ist das gar nicht, dann ist die Factory von außen sichtbar, aber keiner fummelt mir so einfach an der Implementierung herum....
Macht SAP auch so an einigen Stellen
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Globale Klassen oder Lokale Klassen

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
msfox hat geschrieben:
01.12.2022 09:32
Denn, wenn es ein globale Klasse ist, kann er sich die Instanz ja auch direkt von der Klasse selbst holen ohne über die Factory zu gehen.
Stell doch die Instanzerzeugung der Klasse auf "private".
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Globale Klassen oder Lokale Klassen

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
ralf.wenzel hat geschrieben:
30.11.2022 17:00
Grundsätzlich sind globale Klassen "besser", weil man sie wiederverwenden kann.
Ralf meint bestimmt "Wenn ich etwas wiederverwenden möchte, sollte ich das in einer Methode einer globalen Klasse realisieren", denn sonst wäre seine Aussage Quatsch.
ralf.wenzel hat geschrieben:
30.11.2022 17:00
Ansonsten: Instanzen bilden, im Zweifel mit Singleton-Pattern. Sonst schneidet man sich einen Haufen Funktionalitäten ab, nämlich alle Patterns und praktisch alle Möglichkeiten des OO.
Wenn ich aber gerade keine Patterns verwenden will, weil nur eine Utilityklasse verlangt wird, ist eine Klasse mit statischen Aufrufen absolut ausreichend. Häufig genug kann man das Singleton mit dieser Art von Klasse trivial aber hinreichend simulieren.
ralf.wenzel hat geschrieben:
30.11.2022 17:00
Wer sich solche Fragen stellt, hat vielleicht nicht genug über die Unterschiede von konventioneller und objektorientierter Programmierung nachgedacht. Im OO geht es um "Entitäten mit Eigenschaften und Verhaltensweisen" (Objekte) und die Kommunikation untereinander (durch Methodenaufrufe). Das "Programm" stöpselt diese Objekte nur noch zusammen. Das ist etwas vollkommen anderes, als ein konventioneller Report macht.
Wer so antwortet ist vielleicht in einer OO-Blase gefangen. "When all you have is a hammer everything looks like a nail".
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Globale Klassen oder Lokale Klassen

Beitrag von IHe (Specialist / 150 / 35 / 49 ) »
Obwohl ich durchaus ein Verfechter von ABAP-OO bin sehe ich das im Wesentlichen ähnlich wie Stefan. OO-Techniken sind ein mächtiges Werkzeug, aber globale Klassen und Objektinstanziierungen sind technische Wege um bestimmte Ziele zu realisieren, nicht die Ziele selbst. Mich stört es, wenn unüberlegt alles objektorientiert umgesetzt wird und auf die Frage, was der konkrete Mehrwert ist, welches die technische Entscheidung bewirkt hat, nur ganz allgemeine Äußerungen kommen und dies mir zeigt, dass man das Prinzip überhaupt nicht verstanden hat.

Nicht falsch verstehen: bei den allermeisten Anforderungen ist für mich das beste technische Mittel Realisierung mit globalen, nicht statischen Klassen - aber eben mit konkreten, dem spezifischem Problem geschuldeten Gründen. Und nicht aus dem Grund, dass ich gerne einen Hammer benutze, um mal Bezug auf Stefans Zitat zu nehmen.
Ingo Hoffmann

ECC|S/4HANA|BTP
dbh SAP Solutions

Re: Globale Klassen oder Lokale Klassen

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Du hast recht, aber wenn ich ohnehin nicht OO programmieren will, brauche ich WEDER lokale noch globale Klassen und dann stellt sich die Frage nicht, ob ich die einen oder die anderen verwende ;)


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Vergleichbare Themen

9
Antw.
5435
Views
Lokale Klassen in globalen Klassen
von ralf.wenzel » 20.04.2020 22:55 • Verfasst in ABAP Objects®
33
Antw.
12107
Views
Globale Klassen mit Zugriff auf Screen
von Danny Winn » 27.01.2017 18:15 • Verfasst in ABAP Objects®
3
Antw.
2668
Views
Inner classes / lokale klassen
von Gast » 26.08.2005 18:50 • Verfasst in ABAP Objects®
3
Antw.
8442
Views
Anzeige einer Klasse und/oder Methode (Globale Klassen)
von hfahrian » 02.04.2018 07:33 • Verfasst in ABAP® Core
8
Antw.
9054
Views
Architektur von Abap-Klassen (Klassen Attribute)
von snooze » 12.04.2005 12:56 • Verfasst in ABAP Objects®

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 20 / 2394
Zeilenumbrüche ersetzen
vor 21 Stunden von ralf.wenzel 6 / 180
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1557

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 20 / 2394
Zeilenumbrüche ersetzen
vor 21 Stunden von ralf.wenzel 6 / 180
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1557

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 623
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2250
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8838