| 

.NET C# Java Javascript Exception

6
Ich möchte eine größere Anwendung in Abhängigkeit von einer variablen Anzahl von Plugins dynamisch erweitern, wobei die Plugins erweiterte Funktionalitäten (Menüs, Dialoge, Symbolleisten) in der Hauptanwendung verfügbar machen sollen. Als Ansatz habe ich die Lösung auf der Internetseite http://www.vbarchiv.net/workshop/workshop_93-erstellen-von-plugins-zum-erweitern-eigener-programme.html gefunden. Gibt es eine fertige Komponente, die entsprechendes leistet oder muss ich mir eine eigene Lösung bauen? Wie lasssen sich die Plugins am besten verwalten?
10.06.2011
Miriam Kneit 61 3
2 Antworten
3
Schau dir mal folgende Diskussion an, die wir hier bereits geführt haben, evtl. werden deine Fragen damit schon beantwortet.
10.06.2011
Konstantin 3,7k 8
3
Zwei sehr gute Artikel kann ich dir zu dem Thema empfehlen:

Der Artikel Plug-in Manager geht auf die Realisierung eine Plugin-Managers ein der die einzelnen Plugins in seperate App-Domains läd damit bei Fehler oder Abstürzen eines Plugins nicht die anderen Plugins und das Hauptprogramm in Mitleidenschaft gezogen werden. Zudem kann man die Security-Leveles für die Plugins anpassen so das man die Kontrolle über die Rechte der einzelnen Plugins behällt und ihnen z.B. Zugriff auf bestimmte Systemfunktionen verbieten kann.

Und der zweite Artikel C# Plugins mit AppDomains realisieren beleuchtet das ganze Thema Plugins und App-Domains nochmal auf deutsch.

Eine fertige generische Komponente für ein umfassendes Plugin-Systeme ist mir nicht bekannt und wäre auch schwer umzusetzten. Schließlich müssen die exportierten Funktionen die du als API bereit stellst speziell auf dein Programm ausgelegt / angepasst werden.

Wenn du dich an die Realisierung machst, solltest du eine API-Interface zur Verfügung stellen in der du alle Methoden zur Verfügung stellst die ein Plugin benutzen können soll. Dazu zählen z.B.:

public static void RegisterMenuEntry(string name, string icon, Action action)
10.06.2011
Floyd 14,6k 3 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH