![]() |
Komponenten-Definition![]() |
|
![]() |
“Das Wort "Component" (engl. Komponente, Subsystem,
Modul, Baustein, Anwendungsbaustein) stellt ein physisches Stück
Programmcode (z.B. Quellcode, Binärcode, DLL, ausführbares
Programm) dar. Komponenten ähneln Paketen. Sie gruppieren und
gliedern eine Menge einzelner Elemente, definieren Grenzen und
können über Schnittstellen verfügen”. Tuelay Mat und Nurcan Saka |
![]() |
|
“Eine Komponente ist ein Stück Software, das klein
genug ist, um es in einem Stück zu erzeugen und pflegen zu
können, groß genug ist, um eine sinnvoll einsetzbare
Funktionalität zu bieten und eine individuelle Unterstützung
zu rechtfertigen sowie mit standardisierten Schnittstellen ausgestattet
ist, um mit anderen Komponenten zusammenzuarbeiten.” Jed Harris |
![]() |
||
“Eine Softwarekomponente ist eine "statische
Softwareabstraktion mit Plugs"” Nierstarz und Lumpe |
![]() |
||
Dazu erklären die Autoren, dass unter der genannten
Softwareabstraktion eine Art “Black-Box” zu verstehen ist. Deren
Haupteigenschaften das Verbergen der Implementierungsspezifika vor dem
Benutzer darstellt. Statisch bedeutet in diesem Zusammenhang, dass die
“Black Box” in geeigneter Form instanziiert werden muss, bevor eine
Nutzung erfolgen kann. In der objektorientierten Programmiersprache Smalltalk wird zwischen “Klassen” und “Objekten” unterschieden. Dabei stellt ein Objekt eine Instanz einer Klasse dar. Bei Komponenten wird solch eine Unterscheidung nicht vorgenommen, trotzdem wird in den meisten Fällen mit Instanzen von Komponenten gearbeitet. Weiterhin gehen die Autoren davon aus, dass die Komponenten in einem Komponentenframework zusammengefasst werden. “Ein Komponentenframework besteht aus einer Bibliothek von Komponenten und einer zugehörigen Softwarearchitektur, welche die Basiseigenschaften der Plugs und die Art und Weise der Komposition festlegt.” Diese Darstellung führt zu der Problematik, dass Komponenten nicht isoliert betrachtet werden können. Es ist wichtig, das gesamte Komponentenframework in die Betrachtung mit einzubeziehen. |
![]() |
||
Die Idee, die hinter der Komponententechnologie steht, ist
Software zu modularisieren, dabei die Schnittstellen der Module so zu
verallgemeinern, dass sie von anderen Programmen aufrufbar sind.
Komponenten sind dabei abgeschlossene, wiederverwendbare
Softwareeinheiten, die visuell zusammenfügbar und von “visual
application builder tools” eingesetzt werden können.
|
![]() |
||
Häufig ist folgende Definition zu finden: Komponente = Objekt + 'irgend etwas' Komponenten können als Erweiterung von Objekten aufgefasst werden, die über eine Kommunikationsinfrastruktur miteinander in Verbindung stehen. Daran ist erkennbar, dass nicht etwa eine Aufweichung des Begriffs der Objektorientierung zugrunde liegt, sondern, dass es bei einer komplexen Komponentenentwicklung sogar noch viel strenger zu verfolgen ist. |
![]() |
![]() |
![]() |
|