Facendo ormai solo plugins, mi sono accorto che il nostro sistema ha un piccolo design problem.
È così:
[
Ma dovrebbe essere così:
Cioè, facciamo plugins che usano wrapper che usano 3dparties libraries per non dover ricompilare ogni volta.
Ma l'errore sta nel fatto che i plugins caricano gli headers dei wrappers e non della base class.
Quindi se un giorno non vogliamo usare più, per esempio, Julius per l'ASR ma un'altra libreria, dobbiamo comunque editare il plugin
perché dobbiamo #includere un altro .h file e dichiarare un altro oggetto. Il resto non cambia perché c'é la base class (interfaccia),
ma è pur sempre un design error.
Il problema nasce dal fatto che non possiamo ovviamente dichiarare oggetti di classi pure virtual quindi dobbiamo usare una classe derivata ma non dovremmo sapere quale...
PS: Le immagini sono sbagliate: dove c'è
lib_A
lib_A
lib_A
dovrebbe essere
lib_A
lib_B
lib_Z
ma non mi va di rifarle.
[C++] Plugin design problem
Iniziato da
trallallero
, 30 ago 2011 10:25
4 risposte a questa discussione
#1
Inviato 30 agosto 2011 - 10:25
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all
#2
Inviato 06 settembre 2011 - 16:21
Dai fuoco alla ditta.
Attenti al cane
#3
Inviato 06 settembre 2011 - 20:04
Ho già risolto senza il vostro inutile aiuto
Un plugin system dentro il plugin system.
Un plugin system dentro il plugin system.
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all
#4
Inviato 06 settembre 2011 - 20:25
Ho già risolto senza il vostro inutile aiuto
Un plugin system dentro il plugin system.
#5
Inviato 06 settembre 2011 - 20:26
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all