Erweiterungsmechanismen

Das Entfernen von Quellcode aus den Bereichen der Kernfunktionalität, wie oben erwähnt, hat zu einer Änderung des empfohlenen Ansatzes geführt, wie Erweiterungsmechanismen für Kundenprojekte zu verwenden sind. Bisher war es so, dass der Kunde, wenn er die verschiedenen Anwendungserweiterungsmechanismen (z.B. Erweiterungsklassen, Unterklassifizieren mit oder ohne Ersetzen, oder Aggregation) nutzen wollte, in der gesamten Codebasis suchen konnte, wo und wie Zielklassen innerhalb des Anwendungscodes aufgerufen wurden. Daraufhin konnte er die funktionalen Auswirkungen der Erweiterung beurteilen, die in Erwägung gezogen wurde.

Ab Version 6.0.3 steht dem Kunden der Quellcode für einige Bereiche der Kernfunktionalität nicht mehr zur Verfügung. Zudem ist eine große Anzahl an APIs als 'intern' markiert worden. Im folgenden Abschnitt sind die Änderungen in den Empfehlungen bezüglich der Erweiterungsverfahren für Kundenprojekte zusammengefasst.

Bitte beachten Sie, dass sich dieser Abschnitt ausschließlich auf Einschränkungen bezüglich der Erweiterung von Anwendungsartefakten bezieht. Alle Erweiterungsmechanismen können weiterhin für kundendefinierte Klassen verwendet werden. Alle diese Artefakte können in ihrer Art selbstverständlich 'extern' sein und von jedem beliebigen Teil der Kundenimplementierung aus aufgerufen werden.

Wichtig: Dieser Abschnitt bietet nur eine Zusammenfassung auf höhere Ebene. Die vollständigen Angaben dazu, welche Mechanismen von Version 6.0.3 an für die jeweiligen Klassentypen zulässig sind, werden in dem Dokument Nicht empfohlene Erweiterungsmechanismen gegeben. Wo von einem Mechanismus abgeraten wird, gibt dieser Anhang entsprechende Empfehlungen zu alternativen Mechanismen, die der Kunde verwenden kann.