Salut,
Soit une classe ayant comme membre quatre ou cinq vector ou map différents.
Evidemment, une grosse majorité des fonctions membres des vector et des maps est intéressante au niveau de la classe elle-même.
En plus, pour corser le tout, il n'est pas impossible que deux membres distincts soient des map contenant le meme type de données...
Pour respecter l'esprit de l'encapsulation des données, il faudrait déclarer ces membres privés et coder pour chaque membre les fonctions qui vont bien, c'est à dire surement cinq ou six fonctions par membres afin de pouvoir les manipuler...
Le résultat serait une classe comprenant une grosse trentaine de fonctions membres (si pas plus) qui... se contenteront de reproduire le comportement des vector et des map, selon les membres de la classe
Dans une telle situation, quels sont ceux d'entre vous qui décideraient de se faciliter la vie (quitte à rendre le maintien du code plus difficile) en déclarant les membres public et ceux qui préféreraient respecter en tous points le principe d'encapsulation en les déclarant privé, quitte à ce que cette classe ne soit pas sensée évoluer par la suite, sachant que le patern "facade" sera vraissemblablement utilié pour la gestion réelle de cette classe
Autant prévenir tout de suite, je n'ai absolument pas besoin des interventions qui auraient pour but de me convaincre de l'intérêt d'encapsuler les données...
Merci, je connais les avantages de l'encapsulation, et j'en suis bien conscient
Simplement, je n'ai pas de position précise sur la question, ma logique tendant à me faire choisir l'encapsulation, ma fainéantise naturelle tendant à me faire choisir les membres publiques...
Si je pose la question, c'est que, à tord ou à raison, j'envisage de m'allier à l'avis le plus souvent exprimé![]()
Partager