Unterschied zwischen Modul und Plugin in Petrel Ocean

Unterschied zwischen Modul und Plugin in Petrel Ocean

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

Pluginist eine aggregierende Einheit für IModule, d. h. ein Ocean-Plug-in kann aus mehreren Modulen bestehen, die jeweils separat lizenziert sind.

Pluginenthä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 Pluginist nur ein Informationscontainer, da er keine Methoden zum Überschreiben enthält.

Pluginermö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 Plugineiner als PIP definierten und verpackten Klasse eine Metadatei im XML-Format mit allen PluginEigenschaften, sodass Petrel im Voraus nach bestimmten Bedingungen suchen kann, ohne es tatsächlich installieren zu müssen. Ein Beispiel ist eine AppVersionEigenschaft, die die Version der Hostanwendung (z. B. Petrel) definiert, mit der dieses Plug-in kompiliert wird.

verwandte Informationen