| |
4
Neue Konzepte für das Management verteilter Systeme, Hauptseminar, LMU München WS 00/01
1. Software-Komponenten
1.1.
Grundlagen
Dem Konzept der Software-Komponenten liegt die Wunschvorstellung zugrunde,
Anwendungen aus Fertigbauteilen herzustellen, ähnlich wie dies mit Hardware ge-
tan wird.
Durch den Einfluss der objektorientierten Programmierung ist ein Komponenten-
begriff entstanden, der typischerweise folgende Eigenschaften enthält:
· Eigenständigkeit: Komponenten sind aus sich selbst heraus funktionsfähig,
fertige kleine (oder große) Programme.
· Grobkörnigkeit: Komponenten sind groß (im Vergleich zu OO-Objekten).
· Black Box: Komponenten werden in kompiliertem Zustand verkauft. Die Im-
plementierung ist unsichtbar.
· Schnittstellen: Zugriff auf Komponenten erfolgt über öffentliche Schnittstellen.
Diese können in einer Vererbungshierarchie angeordnet sein.
· Konfigurierbarkeit: Um ihre Wiederverwendbarkeit zu erleichtern, sind
Komponenten konfigurierbar (z.B. Schriftart in einer Textfeld-Komponente
besser als eine Komponente für jede Schriftart).
· Verknüpfbarkeit: Es gibt Ein- und Ausgangsschnittstellen für sogenannte Er-
eignisse. Passende Ein- und Ausgangsschnittstellen lassen sich wie mit einem
Kabel verbinden (Wiring).
1.2.
Komponenten vs. Objekte
Komponentenorientierte Programmierung ist von der Idee der objektorientierten
Programmierung beeinflusst, ist jedoch ein eigenständiges Konzept. Da Objekte
feinkörniger als Komponenten sind, eignen sie sich insbesondere zur Implementie-
rung von Komponenten. Umgekehrt ist aber kein objektorientiertes Programmieren
zur Herstellung von Komponenten erforderlich.
Einige Unterschiede zwischen den beiden Paradigmen sollen hier angeführt werden.
Komponenten sind im Verhältnis zu Objekten...
· Eigenständiger: Objekte kapseln oft sehr geringe Funktionalität.
Abbildung 1: Software-Komponenten
Teil 1
|  |
|
| |
|
|