Laden...

Kommunikation zwischen Plugins

Erstellt von Dawn vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.327 Views
D
Dawn Themenstarter:in
8 Beiträge seit 2005
vor 13 Jahren
Kommunikation zwischen Plugins

Hallo,

ich bin relativ unerfahren in .NET und versuche mich zur Übung an einem kleinen Framework:

Ich habe eine Host-Klasse (IHost) die Plugins (IPlugin) erstellt. Alle Plugins kriegen eine Referenz auf das Host-Objekt und können funktionen aus diesem Aufrufen um z.B. eigene Menüeinträge zu erstellen.

Nun möchte ich allerdings das ich auch ein Plugin schreiben kann das z.B. Zugriff auf einen bestimmten Webservice ermöglicht und dieser von allen Plugins genutzt werden kann. Es soll praktisch möglich sein die gleiche Instanz des Webservice-Plugins allen anderen bekannt und benutzbar zu machen.

Habt ihr eine Möglichkeit wie ich das umsetzen kann?

Grüße
Dawn

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

wenn dich die Abhängigkeiten die dabei enstehen nicht stören kannst du sowas über einen Mediator erledigen. Wenn der Host erweiterbar ist kann auch dieser als Mediator fungieren falls ein Webservice-PlugIn immer vorhanden ist.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Dawn,

genau für solche Sachen gibt es MEF(Managed Extensibility Framework). Dort definierst du einen Contract(Vertrag) als Interface. Die einzelnen Plugins importieren dann das Contract über das Interface. Schau dir das mal an.

Alternativ kannst du das Mediator-Pattern verwenden. Ich würde das nicht machen und lieber zu MEF greifen.

zero_x

D
Dawn Themenstarter:in
8 Beiträge seit 2005
vor 13 Jahren

Hallo,

das MEF sieht sehr vielversprechen aus und könnte die Lösung für mein Problem sein. Allerdings müsst ich meinen bisherigen Quellcode vollständig umschreiben, das möchte ich nicht. Es geht bei meinem Framework auch mehr darum die .NET Boardmittel etwas näher kennenzulernen.

Das Mediator-Pattern könnte für mich auch eine Lösung sein auch wenn es augenscheinlich nicht die optimalste für ein "richtiges" Projekt wäre.

Für weiter Vorschläge bin ich dankbar.

Grüße
Dawn