001
16.03.2008, 16:48 Uhr
0xdeadbeef
Gott (Operator)
|
Es gibt eine Reihe von Möglichkeiten, so etwas zu modellieren, je nachdem, wie die Plugins nachher benutzt werden sollen. Das Speichern von Funktionszeigern und zu übergebenden Variablen ist wohl eine Möglichkeit - im Übrigen ist die Syntax hier
C++: |
std::map<int, void(*)(void*)>
|
...für eine map int -> Prozedur, die einen void* als Parameter akzeptiert.
Meine erste Idee wäre, eine Plugin-Basisklasse zu modellieren, von denen die Plugins dann ableiten, und ihre eigene Klasse über eine dynamisch nachladbare Funktion bei einer Factory registrieren - was aber die beste Lösung ist, lässt sich nicht sagen, ohne den use case zu kennen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |