Bon, et ben j'ai fait encore plus fun.
Soit mes 4 classes du moment :
- Vélo
- VéloData
- EditVélo
- AfficheVélo
Le problème à résoudre : Editer, afficher et enregistrer des données, sans que n'importe quelle classe trifouille dans les données, ni dupliquer les données pour les dispatcher ici et là.
Et c'est fichu comme ça :
- VéloData est une classe qui ne fait rien à part contenir des données et des getters. L'initialisation des membres se fait par le constructeur, la modification par une classe amie
- VéloData est amie de Vélo
- Vélo possède un exemplaire de VéloData dans ses membres privés, donc peut bosser sur ses données sans souci
- EditVélo et AfficheVélo reçoivent un VéloData* pour bosser, et peuvent donc lire et non modifier les données.
Contrat rempli.
Moi qui prenant [fixed]friend[/friend] pour le mal absolu et ne l'avais jamais utilisé, ça me permet ici de me sortir élégament de cette situation. Enfin, je crois
Call : Zeph appelé(e) sur ce topic...
Tu trouves ça si crade que ça ?