Bonjour à tous,
Je fais face à un problème technique ou j'aimerai utilisé de façon poussé la POO.
Je m'explique :
2 types d'émissions possibles via le programme : Fax, Mail
J'ai crée une classe mère abstraire courrier qui contient une méthode Envoi() et deux sous classes spécialisées qui héritent de Courrier en redéfinissant la méthode Envoi().
Jusque là, pas de problèmes
Ce que je dois émettre comme informations provient de la base de données
Donc j'aimerai éviter lors de la lecture de la base de données pour créer ma liste de messages, un test conditionnel
Comment faire pour éviter le if ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Emissions = Lecture DB maListe<courrier> = new List<courrier>() Pour uneEmission dans Emissions if uneEmission.typeEmission = 'FAX' maListe.add(new Fax()) sinon maListe.add(new Mail()) Fin pour
Est-il possible de déterminer le type grâce à la généricité et un délégué ?
La seule possibilité que je vois, c'est faire une lecture DB par type d'émission et renvoyer le type d'objet adéquat ....
Le pattern Factory fonctionnerait-il pour mon cas ?
Partager