Au final, même si l'on masque les spécificités des types de données dans une interface commune, on a quand même besoin de savoir ce qui est utilisé derrière si on veut être efficace.
d'ou ma remarque d'utiliser par defaut des listes qui sont performantes en moyenne, comme, au pif, des listes doublement chainé.
Le mechanisme proposé permet justement de pouvoir choisir ce qui est utilisé derriere SI on veut etre efficace.
Actuellement il faut connaitre les details de l'implementation derriere, ses limites,...etc. avant de l'utiliser, et ca c'est mal.
Quand j'utilise une API je m'attend a avoir un truc qui me simplifie la vie, ensuite si je sait que mon programme doit en moyenne augmenter ses donnés de 200 élements, j'ai pas envie de changer tout mes types a chaque fois, l'API devrait me permettre de la regler.
De plus les exceptions, ca peut servir a gérer ce genre de truc, meme si c'est ca pourrais etre plus propre:
- un objet de base
- une interface si besoin est pour des propriété particulière
- des itérateurs
Enfin Cf les vecteurs en java,
il suffit de faire une GList abstraite et que le dev choissisent une implementation precise.
[^] # Re: autre optimisation
Posté par ham . En réponse au journal Vous trouvez GNOME lent ?. Évalué à 3.
d'ou ma remarque d'utiliser par defaut des listes qui sont performantes en moyenne, comme, au pif, des listes doublement chainé.
Le mechanisme proposé permet justement de pouvoir choisir ce qui est utilisé derriere SI on veut etre efficace.
Actuellement il faut connaitre les details de l'implementation derriere, ses limites,...etc. avant de l'utiliser, et ca c'est mal.
Quand j'utilise une API je m'attend a avoir un truc qui me simplifie la vie, ensuite si je sait que mon programme doit en moyenne augmenter ses donnés de 200 élements, j'ai pas envie de changer tout mes types a chaque fois, l'API devrait me permettre de la regler.
De plus les exceptions, ca peut servir a gérer ce genre de truc, meme si c'est ca pourrais etre plus propre:
- un objet de base
- une interface si besoin est pour des propriété particulière
- des itérateurs
Enfin Cf les vecteurs en java,
il suffit de faire une GList abstraite et que le dev choissisent une implementation precise.