[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

Container (Entwurfsmuster)

Lösungsschablonen im Bereich der Softwareentwicklung

Das Container-Entwurfsmuster wird im Bereich der Softwareentwicklung verwendet. Es wird in die Gruppe der Strukturmuster eingeordnet.

Verwendung

Bearbeiten

Das Container-Entwurfsmuster teilt die Anwendungslogik in zwei Bestandteile. Zum einen wird eine Komponente benötigt, welche gezielt ihre Hauptaufgabe erfüllt. Ein dazugehöriger Container versorgt die Komponente mit allen benötigten Schnittstellen zu anderen Systemen. Eine Erweiterung ist, dass die Komponenten im Container zur Laufzeit beliebig hinzugefügt oder entfernt werden können. Dieses Entwurfsmuster ist kein ursprüngliches Muster der GoF.

Jakarta EE

Bearbeiten

Das Entwurfsmuster findet z. B. bei der Jakarta EE starke Verwendung und ist deren essentieller Bestandteil. So sind viele Dienste der Jakarta EE mit diesem Pattern konstruiert. Zum Beispiel der Web-Container, welcher Servlets beinhaltet. Andere Beispiele sind EJB-Container oder JMS-Provider.

Bestandteile

Bearbeiten

Eine Komponente kapselt eine logische Information/Routine des Gesamtsystems. Sie kann zur Laufzeit verändert werden oder mit anderen Komponenten (eventuell aus anderen Containern) interagieren.

Jeder Container kann bestimmte Komponenten beinhalten. Die Komponenten werden komplett gekapselt und eventuelle Anfragen oder Ereignisse werden an diese vom Container weitergeleitet. Unter Umständen sorgt der Container mit bestimmten Routinen selbst für die Instanzierung der Komponenten.

Vorteile

Bearbeiten
  • Das Prinzip der Kapselung wird stark unterstützt
  • Die Komplexität des Systems für Weiterentwicklung wird extrem vermindert
  • Veränderungen an den Komponenten gestalten sich relativ einfach
  • Hohe Testbarkeit, Veränderbarkeit und Stabilität

Nachteile

Bearbeiten
  • Teilweise höherer Aufwand bei der Entwicklung des Containers
  • Eindeutige Definition der Schnittstelle zwischen Container und Komponente notwendig

Siehe auch

Bearbeiten