Plugin (Entwurfsmuster)

Plugin (Entwurfsmuster)

Das Plugin (deutsch: Steckmodul) ist ein Entwurfsmuster aus dem Bereich der (objektorientierten) Softwareentwicklung und gehört zu der Kategorie der Verhaltensmuster (Behavioural Patterns). Es dient der Institutionalisierung (klaren Aufteilung) von öffentlichen (engl. public) Teilen der Software (i.d.R. Klassen/Methoden), die vom Nutzer der Software verwendet werden dürfen (veröffentlichte Teile) und welche die nicht verwendet werden sollen. Die Verwendung ist oft eine Erweiterung im Sinne von "Funktionalität hinzufügen". Ein Plugin besteht aus einem Erweiterungspunkt (engl. extension point) und einer oder mehreren nutzenden Erweiterung (engl. extensions).

Verwendung

Plugins werden vor allem in Basissoftware (Frameworks, Menge von Basisklassen) eingesetzt. Generell empfiehlt sich die Verwendung von Plugins, wenn man die Software anderen Softwareentwickler zur Einbindung zur Verfügung stellen möchte. Ein Plugin definiert welcher Teil benutzt und wie dieser Teil erweitert werden darf.

Ein Vorteil ist, dass die Basissoftware in den nicht veröffentlichten Bereichen problemlos weiterentwickelt werden kann. Die Art der Nutzung oder Erweiterung der Basissoftware wird standardisiert und damit leichter austauschbar.

Ein Nachteil ist, dass das Plugin extra beschrieben werden muss. Plugins schränken die Erweiterungsmöglichkeiten ein und sind in der Programmierung performance intensiver.

Beispiele

Die Basissoftware ist eine Personenverwaltung, mit der Personen und ihre Adressen erfasst/geändert/gelöscht werden können. Die Basissoftware stellt zwei Plugins mit den Erweiterungspunkten "Person_anlegen" und "Person_ändern" zur Verfügung.

Die Basissoftware soll in einem Judosportverein eingesetzt werden. Der beauftragte Softwareentwickler nutzt den Erweiterungspunkt "Person_anlegen" mit einer Erweiterung für die Erfassung des Eintrittjahres in den Verein. Der beauftragte Softwareentwickler nutzt den Erweiterungspunkt "Person_ändern" mit einer Erweiterung für die Dokumentation einer bestandenen Gürtelprüfung. Ferner nutzt der beauftragte Softwareentwickler den Erweiterungspunkt "Person_ändern" auch mit einer Erweiterung für die Dokumentation der Änderung der Gewichtsklasse. Der beauftragte Softwareentwickler hat aber keine Möglichkeit den Vorgang des <Person löschen> zu beeinflussen bzw. zu erweitern.

Ein bekanntes Beispiel für ein Plugin-basiertes Framework ist z. B. Eclipse, eine in Java geschriebene IDE.


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Entwurfsmuster — (engl. design patterns) sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme in Softwarearchitektur und Softwareentwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem bestimmten… …   Deutsch Wikipedia

  • Design Pattern — Entwurfsmuster (engl. design pattern) sind bewährte Lösungs Schablonen für wiederkehrende Entwurfsprobleme der Softwarearchitektur und Softwareentwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem… …   Deutsch Wikipedia

  • Design Patterns — Entwurfsmuster (engl. design pattern) sind bewährte Lösungs Schablonen für wiederkehrende Entwurfsprobleme der Softwarearchitektur und Softwareentwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem… …   Deutsch Wikipedia

  • Design pattern — Entwurfsmuster (engl. design pattern) sind bewährte Lösungs Schablonen für wiederkehrende Entwurfsprobleme der Softwarearchitektur und Softwareentwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem… …   Deutsch Wikipedia

  • AJAX — [ˈædʒæks] ist ein Apronym für die Wortfolge „Asynchronous JavaScript and XML“. Es bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser, das es ermöglicht, innerhalb einer HTML Seite eine HTTP Anfrage… …   Deutsch Wikipedia

  • AJAX (Programmierung) — Ajax [ˈædʒæks] ist ein Apronym für die Wortfolge „Asynchronous JavaScript and XML“. Es bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser, das es ermöglicht, innerhalb einer HTML Seite eine HTTP Anfrage… …   Deutsch Wikipedia

  • AJaX — [ˈædʒæks] ist ein Apronym für die Wortfolge „Asynchronous JavaScript and XML“. Es bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser, das es ermöglicht, innerhalb einer HTML Seite eine HTTP Anfrage… …   Deutsch Wikipedia

  • AJaX (WebTechnologie) — Ajax [ˈædʒæks] ist ein Apronym für die Wortfolge „Asynchronous JavaScript and XML“. Es bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser, das es ermöglicht, innerhalb einer HTML Seite eine HTTP Anfrage… …   Deutsch Wikipedia

  • Asynchronous Javascript and XML — Ajax [ˈædʒæks] ist ein Apronym für die Wortfolge „Asynchronous JavaScript and XML“. Es bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser, das es ermöglicht, innerhalb einer HTML Seite eine HTTP Anfrage… …   Deutsch Wikipedia

  • NetBeans — IDE NetBeans IDE 6.0 Basisdaten Entwickler: Sun Microsystems Aktuelle Version …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”