Factory : factorisation pour la fabrication
Bonjour,
d'une manière générale, lorsqu'on a une application conçue sous forme de modules, il semble intéressant d'exploiter le patron de conception Factory pour regrouper la création de ces derniers et gérer leur cycle de vie (destruction par exemple).
Comme les modules ont la plupart du temps une logique adoptée par le développeur au niveau de leur nom, on est tenté de vouloir factoriser le code de création sous une forme proche de :
Code:
1 2
| #define CREATE_MODULE(Name) \
return new Module##Name(); |
L'idée serait donc de profiter de la concaténation par une directive de préprocesseur.
Or, ceci n'est pas toujours approuvé par les développeurs.
L'une des raisons pourrait être la possibilité d'utiliser CREATE_MODULE n'importe où (à condition d'inclure le header). Peut être faudrait-il donc garder l'idée en exposant dans le define quelque chose de moins sensible comme juste un GetTypeModule(Name) qui retournerait Module##Name ?
Qu'en pensez-vous ?