home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

Komponenten

Eine (Software-) Komponente ist eine Einheit, die gekapselte Funktionalität implementiert und diese über eine wohldefinierte Schnittstelle zur Verfügung stellt.

 

Eine Komponente stellte eine Kapselung mit einer Schnittstelle dar. Mit Hilfe der Schnittstelle kann die gekapselte Einheit genutzt werden. Die Vorteil der komponentenbasierten Architektur sind

  • Austauschbarkeit
  • Wartbarkeit
  • Wiederverwendbarkeit
  • Testbarkeit

Nehmen wir an die Berechnung der Steuerabgaben für Ehepaare hat sich verändert, so kann einfach die Komponente, die diese Berechnungen durchführt, durch eine neue Komponente mit den neuen Berechnungen ersetzt werden. Einzige Voraussetzung dafür, dass die selben Schnittstellen zur Verfügung gestellt werden, über die die anderen Komponenten im System auf die Berechnungskomponente zugreifen.

Im Komponentenentwurf geht es darum den inneren Zusammenhalt der Komponente möglichst eng zu halten (high cohesion) und die Verbindung zwischen unterschiedlichen Komponenten dagegen sehr lose (low coupling) -  siehe das untere Bild. Mit diesem Konzept werden die oben genannten Vorteile von Komponenten unterstützt.

Wenn die Komponenten, wie im oberen Bild gezeigt, so eng miteinander gekoppelt sind, ist zum Beispiel die Austauschbarkeit oder Testbarkeit nicht mehr oder nur mit viel Aufwand möglich.