L’idea mi é venuta durante lo sviluppo di MGS: sapevo che alcuni miei colleghi (SbatMan, o’Troll, Sax) avevano fatto una cosa in questa direzione per il loro progetto di OOP.
In particolare loro avevano realizzato una *Template Factory***typedef** obbligatori per gestire gli handler delle SO) che una Classe che si voleva istanziare a Run-Time doveva rispettare: ho eliminato il tutto approfondendo un pò l’argomento:
| |
Avendo studiato il loro codice per benino (come fanno i programmatori seri…;-)), il risultato é stato una leggera trasformazione del Template che ora permette di:
- Caricare una classe da una SO (Shared Object Library) a Run-Time (come prima);
- Assegnare l’oggetto istanziato tramite UP-Casting ad una Super-Classe (come prima);
- Nessuna restrizione sulle Gerarchie (unica differenza con il lavoro dei miei colleghi).
Cosa ho fatto quindi io di nuovo? La mia versione della **TFactory ** (così il nome della Classe) può essere portata ovunque continuando a funzionare sempre.
Prossimamente posterò il codice completo o un link allo stesso.
Da notare che, al momeno, il sito ufficiale non é stato ancora aggiornato.