Hi, Hoto!
Das kommt ganz darauf an,
was es werden soll, und
wie du die Umsetzung planst.
Ein Pluginsystem zu relisieren bedarf immer ein bisschen Weitblick- spätestens dann, wenn du merkst, dass dein bisheriges System nicht mehr ausreicht, musst du teilweise das gesamte Pluginsystem inklusive DLLs neuschreiben.
Aber eine Idee ist es, die Grundfunktionalitäten des Programmes, intern auch wie Plugins zu behandeln. Also so, dass du quasi eine Schnittstelle baust, und über diese Schnittstelle deine (Grund-)Funktionen ansprichst, obwohl die Grundfunktionen in der gleichem EXE kompiliert sind. Natürlich ist diese Methode nur zu empfehlen, sofern das ncht unbedingt zu Lasten der Geschwindigkeit geht.
Das hat folgende Vorteile:
Wenn du von Anfang an auf Strikte Trennung deiner Funktionen achtest, so kannst du später unter Umständen leichter expandieren.
Sofern du das Pluginsystem wirklich einbaust, musst du nicht mehr viel hinzubauen, um Plug-Ins laufen zu lassen (sprich: Nur noch das Laden der DLL Datei davorschrauben).
Strikte Trennung von Hostprogramm (Fenster, Anzeige, Menüs etc) und Funktionalitäten.
---
Nachteile wären:
Man kann "Nicht eben schnell" einen Bug heraushacken, indem man quick-and-dirty eine Funktion hinzubaut (Plugin-B hat beispielsweise keinen Zugriff auf die Variablen von Plugin-A).
Man ist auf die eigene Weitsicht des Systems angewiesen. Wenn man im späteren Verlauf der Programmierung bemerkt, dass das bisherige PluginSystem nicht ausreicht, so muss man unter Umständen eine Menge umschreiben.
Das ist natürlich alles eine Menge Theorie und wenig Code, aber mehr kannst du auch bei den bisher gegebenen Informationen von dir noch nicht erwarten
Gr33tz
Tafkadasom2k5