Hallo,
Ich hab mich schon öfter mit Plug-In-Konzepten beschäftigt. Da ich mein aktuelles Plug-In-System über Interfaces gelöst habe, kann ich mal etwas dazu sagen.
Das Konzept hat zwei wichtige Vorteile: Erstens kann man Plug-Ins in jeder Programmiersprache schreiben (wenn man alle Delphi-spezifischen Sachen im Interface kapselt). Zweitens benötigt man zum Erstellen von Plug-Ins nur die Units mit den Deklarationen (bei meinem aktuellen Projekt bräuchte man beim Benutzen von Klassen die Hälfte meiner Units, ~30 Stück).
Die Nachteile sind allerdings auch nicht ohne: Erstens muss man zwei Dateien pflegen (Willkommen Header-Dateien). Zweitens kann die Arbeit mit Interfaces lustige Debug-Nächte verursachen. Ich hab mein System erst nachträglich auf Interfaces umgestellt und musste dann 120.000 Codezeilen auf Speicherlöcher absuchen. Der Grund ist einfach: Interfaces zerstören sich selbst, wenn sie nicht mehr gebraucht werden. Das ist praktisch, wenn man das aber nicht bedenkt ist es die Hölle auf Erden.
Wenn man sauber arbeitet und gut plant ist der Einsatz von Interfaces meiner Meinung nach die bessere Wahl. Der Unterschied zur abstrakten Klasse ist ja nicht sehr groß, man spart sich aber die overrides
.
Gruß
xaromz