Bonjour,

Je voudrais un simple avis sur mon code (en C++). Je n'ai pas encore écrit les lignes de code mais seulement l'enveloppe globale. L'idée est de se servir du type retour pour savoir le type de classe attendu, et ainsi créer ou vérifier que les types correspondent, mais est-ce que ça n'est pas trop dangereux pour le programme, bancal niveau programmation ou trop lourd à l'exécution?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class gestionnaire_ressources : Singleton<gestionnaire_ressources>  //classe singleton, un design pattern
{
    friend class Singleton<gestionnaire_ressources>;   //nécessaire pour singleton
 
    public:
    template<typename T> T* getRessource(char* chaine);     //+1 à l'utilisation
    void delRessource(char* chaine);                        //-1 à l'utilisation
 
    protected:
    gestionnaire_ressources();
    ~gestionnaire_ressources();
 
    private:
    std::map<std::string, &ressource> conteneur;
    std::map<std::string, &ressource>::iterator it;
};
 
 
class ressource
{
    friend class gestionnaire_ressources;
    public:
    virtual void charger(char* chaine) = 0;    //classe virtuelle pure + obligation de redéfinir
    int getUtilisation();
 
    protected:
    ressource();
    ~ressource();
    int utilisation;
    void del();
    void add();
 
    private:
    ressource* pointeur;
};
L'idée de base de ce système est que toute ressource est sur le disque dur, donc chargée par le programme avec son chemin. De plus je m'arrangerai pour toujours avoir des chemins relatifs (pour éviter de doubler une ressource en mémoire).

J'ai essayé d'utiliser celui proposé par Laurent Gomila mais je n'y comprends rien pour l'instant (et il me semble trop compliqué pour les besoins de mon programme) néanmoins je m'en suis inspiré .

Merci pour votre lecture!