Euh, pourquoi j'utilise une interface, c'est parce que c'est ton sujet qui parlait des interfaces...
Dans le cadre d'une inter-opérabilité entre mon programme et celui de partenaire, je leur fourni un objet avec une spécification donnée et une utilisation précise ... je ne vois pas le rapport entre le fait d'utiliser une interface et le fait de bien utiliser cette dernière ???
L'interface n'a pas pour but de gérer la libération !
Elle a pour but de faire d'un ensemble de programmes hétéroclytes un tout dans un système ...
D'ailleurs, lorsque l'on fait des bibliothèques de type, on peut ajouter dans la TLB des objets d'implémentation (descendant de TOleServer vers une CoClasse), qui lorsque l'on fait l'import via Delphi ou via Visual, génère des classes qui vont encaspsuler l'interface, et du coup, cela s'utilise comme n'importe quel objet, instanciation et libération ...
Il y a ce qu'on appele une documentation, et si le guss ne le la lit pas, eh bien ça fuira, ... ceux qui seront consciencieux appeleront Delete ... eh, je ne suis pas un troll pour rien ! Je suis exigeant avec moi-même, j'en attends autant des autres ...
On dirait qu'il est loin temps où l'on faisait un GetMem, il était tellement logique de faire à un moment donné un FreeMem, ...
Après biensur tout dépend d'où vient l'arbre, si le client à créer l'arbre, il a donc fait des Add ... donc si il y a des Add, il y a du Delete ou du Clear ...
mais si l'arbre vient d'une résultat d'une fonction genre GetArbre, eh bien, il y aura une fonction ReleaseArbre, ... qui libérera l'arbre, ... et si il garde un noeud de côté, et bien il devrait penser à faire aussi son nettoyage ... je sais pas mais c'est logique, on peut pas toujours macher le travail, parfois, j'ai l'impression que l'on prend nos utilisateurs de nos objets pour des crétins ... pour moi, les grands classiques Open\Close, Create\Free, et tous les binomes du même genre ...
En fait, je pense que c'est aussi une histoire de style de programmation ...
Partager