Bonjour,

Avant tout, désolé si mon message est posté au mauvais endroit.
J'ai un problème en particulier au niveau de la conception objet.
Voici le cas :

Un père a plusieurs enfants (environ 1000 enfants.)
=> classes : Pere, Enfant
Les enfants peuvent manger.
=> la classe Enfant a une méthode "manger"

Dans l'application, il est question que le père fasse manger ses 1000 enfants.
J'hésite entre ces 3 façons :

*********************************************************
1) Instancier les 1000 gosses, tour à tour, et les faire bouffer en appelant la méthode "manger"
pour chaque enfant :
unEnfant = new Enfant(ID-enfant);
unEnfant->manger();
Problème : cela nécessite 1000 instanciation de la classe Enfant, et qui pourrait supposer derrière 1000 accès à une BDD, etc.

*********************************************************
2) Faire en sorte que la classe Enfant puisse aussi réprésenter une collection d'enfants et supporter une méthode générant un traitant de masse.
Du coup il n'y aurait plus qu'une seule instance crée, et par exemple, un seul Update dans la BDD, etc.

*********************************************************
3) Créer une troisième classe : GroupeEnfants, permettrait de faire un traitement de masse.
Et là aussi, il n'y aurait plus qu'une seule instance crée, et par exemple, un seul Update dans la BDD, etc.
Problème : d'une certaine manière on duplicate le code.


Sans doute, il y a d'autres solutions.

Quelle est celle appliquée en POO pour ce genre de traitement ? (un père doit faire bouffer 1000 gosses, sachant qu'il existe au préalable une classe Père et Enfant).


Merci,
Christophe