![Unterschied zwischen Modul und Plugin in Petrel Ocean](https://rvso.com/image/1331463/Unterschied%20zwischen%20Modul%20und%20Plugin%20in%20Petrel%20Ocean.png)
Ich habe gerade angefangen, mich mit Petrel Ocean zu beschäftigen und möchte wissen, was der Unterschied zwischen dem Plug-in und dem Modul ist.
Zumindest im Moment sehen sie gleich aus.
Kann mir bitte jemand ein paar Ideen geben?
Antwort1
Die Plugin-Klasse enthält Eigenschaften, die dem Plugin seine Identität verleihen und vom Plugin-Manager verwendet werden. Das Plugin enthält alle Module in IEnumerable-Modulen. Die IModule-Schnittstelle definiert Methoden der Modul-Lebenszyklusphasen. Während des Petrel-Starts lädt der Ocean Core Module, wie sie in einer Konfigurationsdatei vom Plugin-Manager basierend auf der Plugin-Klasse definiert sind.
Antwort2
Plugin ist neu, IModul ist alt.
Der Plugin-Manager befasst sich mit Plugins, daher sollten Sie diesen verwenden.
Antwort3
Wenn Sie Ihr Plug-in über den Ocean Store bereitstellen möchten, müssen Sie es von der Plug-in-Klasse ableiten. Natürlich MUSS Ihr Plug-in auch IModule implementieren, da sich dort die Methoden befinden, die den Lebenszyklus steuern.
Antwort4
Plugin
ist eine aggregierende Einheit für IModule
, d. h. ein Ocean-Plug-in kann aus mehreren Modulen bestehen, die jeweils separat lizenziert sind.
Plugin
enthält zusätzliche Informationen - Author
, Contact
, PluginUri
, die Petrel dabei helfen, Benutzer besser zu informieren, wenn ein Plug-in ein Problem verursacht (z. B. eine unbehandelte Ausnahme). Übrigens Plugin
ist nur ein Informationscontainer, da er keine Methoden zum Überschreiben enthält.
Plugin
ermöglicht Ihnen die Deklaration Dependencies
, um die Reihenfolge des Ladens der Ocean-Plugins in Petrel zu definieren.
Und schließlich enthält ein Ocean-Plug-in mit Plugin
einer als PIP definierten und verpackten Klasse eine Metadatei im XML-Format mit allen Plugin
Eigenschaften, sodass Petrel im Voraus nach bestimmten Bedingungen suchen kann, ohne es tatsächlich installieren zu müssen. Ein Beispiel ist eine AppVersion
Eigenschaft, die die Version der Hostanwendung (z. B. Petrel) definiert, mit der dieses Plug-in kompiliert wird.