OO-ABAP: Wann und Warum?
Monate nach meiner Firma hat ein Upgrade von 4.6 c auf ECC6.0, unser Programmierer-team noch die Codierung in der traditionellen 4.7 c Weg. Ich bin begierig zu versuchen, die neuen OO-Ansatz von ABAP, aber viel zu meinem Entsetzen die meisten Leute hier nur betonen, auf getting things done in der kürzesten Zeitrahmen gegeben.
Meine Frage wäre:
1) Wenn die Menschen in Ihrer Organisation tatsächlich begann das Programmieren in ABAP OO?
2) gibt es eine wesentliche Grund, dass die Menschen wollen würde, um code in ein OO Weg? z.B. Call-Methode ist schneller als eine PERFORM-Anweisung?
Kann ich wissen, was ist ABAP, ECC6.0 und 4.6 c?
InformationsquelleAutor SteD | 2009-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
1), Wenn die Menschen in Ihrer Organisation tatsächlich begann das Programmieren in ABAP OO?
Meisten Entwickler in meiner organisation haben gelernt, die klassische ABAP-vor der Einführung von ABAP-OO. Sie sind meist senior Entwickler davon abzuhalten, das lernen der richtigen OOP-und OOD-Prinzipien. Sie sind immer noch vor allem mit prozeduralen ABAP-Funktionen.
Darüber hinaus arbeiten wir in einer legacy-Umgebung. die Grundlagen unserer backend gebaut wurde während der Zeit von 4.6 C. Es ist schwer, zu bringen richtigen OO-Design in legacy-Systemen.
Auf der anderen Seite, die verfahrenstechnische Funktionen immer noch funktionieren. Einige Funktionen wie Transaktions-Datenbank-updates werden meist verwendet, aus dem prozeduralen Teil von ABAP. Weißt du vielleicht, Update-Funktion-Module oder Unterprogramme, die ausschließlich für Datenbank-Transaktionen (diejenigen, die Sie anrufen können
IN UPDATE TASK
). Sie sind ein integraler Bestandteil der ABAP-basic-Komponenten. Man kann nicht leugnen, dass sich die prozessuale ABAP-Teil wird noch benötigt.2) gibt es eine wesentliche Grund, dass die Menschen wollen würde, um code in ein OO Weg? z.B. Call-Methode ist schneller als eine PERFORM-Anweisung?
Wie haben Sie vergleichen die Laufzeit der CALL-METHODE vs. PERFOM? Haben Sie versucht, das Programm RSHOWTIM /Oder habt Ihr gemacht, einige performance-tests aus der ABAP-workbench? Ein einziger Aufruf des Unterprogramms unterscheiden sich nicht wesentlich von einer Methode invocation. Jedoch, wenn in der Massen-test-Methodenaufrufe, die haben eine etwas bessere Leistung (in der Größenordnung von Mikrosekunden).
Auf das ganze, ich empfehle OOD und OOP-mit den gleichen Argumenten wie die Benutzer, die geschrieben werden, bevor. Aber Sie müssen im Hinterkopf behalten, dass senior-Entwickler vertraut mit den alten ABAP-Welt haben um zu verstehen, OO-Prinzipien, bevor Sie zu schreiben beginnen, ABAP-OO.
Ansonsten, Ihrer Organisation nicht profitieren würde von ABAP-OO, im Gegenteil. Es gibt eine Menge von erfahrenen ABAP-Entwickler ohne OO Kenntnisse, die geschoben wurden Klassen schreiben. Was Sie tun, ist tatsächlich imitiert Grundsätze des Verfahrens mit Klassen (z.B. eine Klasse mit statischen Methoden ausschließlich - als Ersatz für die Funktion der Module/Unterprogramme).
Viel Glück für Ihre organisation, für Ihre Herausforderung mit ABAP-OO! Es geht nicht um die Sprache, es ist mehr über die OO-Prinzipien in den Köpfen Ihrer Mitarbeiter.
InformationsquelleAutor user51478
Ich weiß nicht, ABAP, aber ich habe gesehen, das gleiche passiert mit VB-Entwickler bewegen .Net-Plattform.
Programmierer sind wohl in Ihrer alten Programmierung, und der alte Weg funktioniert immer noch. Die neue Art der Programmierung braucht eine Menge Investitionen, nicht nur vom Unternehmen sondern auch von Menschen, die sich aus Ihrer Komfort-zone in unsicheren Gebiet. Wenn Ihr Unternehmen nicht bereit ist, in Bildung zu investieren und die Zeit für die Forschung zu diesem problem wird größer, weil die Menschen investieren Ihre eigene Zeit, nicht jeder ist bereit, das zu tun.
Als Stier bereits zeigte, gibt es überzeugende Gründe, sich zu bewegen, um die OO-Weg, Dinge zu tun. Sie sind vor allem nicht um Leistung, sondern um eine bessere Entkopplung der Komponenten in Ihrem system, so dass es viel mehr wartbar.
Aber in meiner Erfahrung ist es schwer, die Menschen davon überzeugen, sich aus Ihrer Komfort-zone mit vernünftigen Argumenten wie, dass. Es funktioniert in der Regel besser, Ihnen den Weg zeigen. Langsam beginnen mit OO-Konstrukte in Ihrem code, den Menschen zu zeigen, wie sauber es aussieht. Dies ist nicht etwas, das Sie erreichen in den Monaten, es kann Jahre dauern, um die Menschen anders denken und anders arbeiten.
InformationsquelleAutor Mendelt
Einem team von erfahrenen prozedurale Entwickler ist unwahrscheinlich, dass die Entwicklung in einer OO-Stil jederzeit schnell, es sei denn, eine erhebliche (und teure) Anstrengungen unternommen werden, um diese auszubilden und zu betreuen.
Gibt es zahlreiche Gründe:
Als Folge, Ihren neuen code werden die meisten wahrscheinlich werden prozedurale, sondern in Klassen und Methoden. Sie werden nicht beeindruckt sein, von den Vorteilen der OO.
InformationsquelleAutor Stephan Eggermont
OO oder nicht OO ist nicht eine Frage!!!
Frage ist, wo OO und wo NICHT OO .
Alle Vorteile des OO-Ansatzes (OOD und OOP) kann voll ausgeschöpft werden, solange Sie im kundennamensraum. Jedoch jeder Zugriff auf SAP-standard-Funktionalität schafft große Kopfschmerzen.
Die transaktionale Integrität, Objekt, Konsistenz und synchronisation, DB verpflichtet, Bildschirme (Modul-pools und-Auswahl-screens), die Behörde prüft, batch-input. Dies sind nur einige Objekte, die nur schwer (oder sogar unmöglich) zu integrieren, die im OO-Ansatz. Integration von SAP-standard-Modulen bewegt sich diese zu einer noch höheren Ebene der Komplexität.
User-exits, Events:
Die meisten Daten sind bietet in-Schnittstelle. Zugang zu kundenspezifischen Daten oder Anpassungen platziert werden können, in Objekten.
Berichten: die Meisten der Daten, die gelesen werden durch standard-FM. Spezifische Daten-Verarbeitung gelegt werden können, in Objekten. Kann leicht wiederverwendet in anderen berichten. SAP enjoy controls gewickelt werden kann, mit dem Objekt-shell für die einfache Nutzung und Wiederverwendung. Bildschirme können NICHT palces in Objekten. :-(((
Core-Verarbeitung: Ersetzen der SAP-business-Objekt Wartungs-oder SAP-Prozesse nicht gefördert durch SAP. Aber wenn dies ist ein Fall von patient und bereit für den riesigen Aufwand. Lassen Sie uns näher. Es gibt viele technische Herausforderungen: singleton-Muster, Optimierung der DB-Zugriff, locking, synchronisation, etc. Trennung von technischen und business-Funktionalität in Angriff genommen werden müssen. Objets sind nicht wirklich geeignet für die Verarbeitung Masse (hohe DB-Last) daher Masse-Verarbeitung in Angriff genommen werden müssen.
InformationsquelleAutor user109758
Unten sind einige der Vorteile von OOP, wie Sie wissen müssen:
Nutzen diese, es gibt viele wichtige Gründe für den Einsatz von OO-ABAP "Wann immer möglich". Auch wenn Sie nicht verwenden möchten, OO-Programmierung mit ABAP Objects ist immer noch eine gute Idee, denn es bietet einige Funktionen, prozedurale Programmierung nicht.
So, hier ist, was ABAP Objects bietet Ihnen über Prozedurale ABAP:
Gibt es nur zwei Zwecke, für die Prozessuale ABAP finden ist essentiell:
Funktionsbausteine werden.
anderen Systemen zur Verfügung gestellt, aber sind
nicht in der Lage, um die Klasse Methoden
extern zur Verfügung mit XI server
Proxys. In diesem Fall müssen Sie
verwenden Sie Funktionsbausteine.
Studie über Sie im detail hier und Sie werden sehen, dass Sie nicht brauchen, jede wesentliche betriebliche/demonstrative Grund, sich selbst davon zu überzeugen, sich zu bewegen, OO-ABAP, coz alle diese Gründe sind bereits sehr bedeutsam.
InformationsquelleAutor simplyharsh
Einige gute Gründe zu wechseln, ABAP-OO ist:
Fügen Sie diese zu den aufgeführten Vorteilen von Stier:
Einstieg in ABAP-OO:
CL_ABAP*
oderCL_GUI_FRONTEND*
KlassenRessourcen:
InformationsquelleAutor Esti
Um es einfach auszudrücken, es verwenden, wenn Sie haben ein relativ junges team sind eifrig und bereit zu lernen, ein neues Programmier-Paradigma. In einem senior-team dominiert, Annahme OO könnte eine Herausforderung sein. Um so mehr, da die Wartbarkeit des Programms nach unten geht. Die org möglicherweise müssen neue Mitarbeiter zur Wahrung der OO-code.
Aus einer design-Perspektive, es ist keine Frage(wie eine Menge Leute haben auch gesagt, in diesem forum), dass seine die beste und wurde seit Alters. SAP ist hinter in Bezug auf Technologie. Ihre ECC-DB-design ist immer noch in 2-NF. die standard-3-NF ist, was Sie genannt habe, '3D' - Datenbank.
Nicht abweichend zu viel von Thema, ich glaube, Sie haben jetzt zu viele gute Antworten zu einer Entscheidung kommen.
InformationsquelleAutor Tirth Pandya