!--a11y-->
Verwendungszwecke von Public Parts 
Public Parts definieren die öffentlichen Schnittstellen einer Komponente (DC). Eine Komponente verwendet eine andere Komponente ausschließlich über deren Public Parts. Es gibt verschiedene Arten der Verwendung. Diese werden beim Anlegen des Public Parts bestimmt.
Die Objekte (Symbole, Klassen, etc.) im Public Part der einen Komponente werden zum Übersetzen der anderen Komponente benötigt. In diesem Fall wird dem Public Part bei der Definition der Verwendungszweck Provides an API for developing/compiling other DCs zugeordnet.

Fügen Sie zu einem Public Part vom Typ Provides an API for developing/compiling other DCs nur solche Objekte hinzu, die für die Außenwelt sichtbar sein sollen, also z.B. Interfaces aber nicht deren Implementierungen.

In der View Properties finden Sie diesen Verwendungszweck als compilation. Sie können den Verwendungszweck hier auch ändern.
Die Objekte (Symbole, Klassen, etc.) im Public Part der einen Komponente werden von der anderen Komponente zu einem größeren Ganzen zusammengepackt, etwa einem Archiv oder einer Anwendung. In diesem Fall wird dem Public Part bei der Definition der Verwendungszweck Can be packaged into other build results (e.g. SDAs) zugeordnet.

In der Regel enthalten Public Parts vom Typ Can be packaged into other build results (e.g. SDAs) auch einige private Objekte ihrer Komponente, also z.B. neben Interfaces auch deren Implementierungen.
Ein Public Part von diesem Typ kann nicht zum Übersetzen einer Komponente verwendet werden und umgekehrt. Sie können aber einer Komponente durchaus zwei Public Parts mit unterschiedlichen Typen zuordnen, welche die gleichen Entwicklungsobjekte enthalten.

In der View Properties finden Sie diesen Verwendungszweck als assembly. Sie können den Verwendungszweck hier auch ändern.
Ein Public Part PP vom Typ Provides an API for developing/compiling other DCs (compilation) enthält ein Java Interface api und eine Erzeugerklasse factory, die Instanzen von api erzeugt. Beim Übersetzen der Komponente wird ein Java Archiv mit dem Namen PP.jar erzeugt, das die .class Dateien von api und factory enthält, nicht jedoch die Implementierung api_impl des Interfaces api.
Eine andere Komponente kann diesen Public Part verwenden und wird problemlos übersetzt, auch ohne dass der Public Part api_impl enthält. Zur Laufzeit wird api_impl allerdings benötigt. Die Komponente definiert daher einen zweiten Public Part PP1 vom Typ Can be packaged into other build results (e.g. SDAs) (assembly) und ordnet diesen api, api_impl und factory zu. Beim Übersetzen der Komponente wird nun ein Java Archive mit dem Namen PP1.jar erzeugt, das die .class Dateien von api, api_impl und factory enthält. Dieses Archiv kann nun z.B. in eine J2EE Anwendung eingepackt und zusammen mit dieser in ein Laufzeitsystem eingespielt werden.