-
question de design
Bonjour,
J'ai une petite question de design, j'ai eu à y faire face récemment.
disons que j'ai une fonction qui fait quelque chose, en général elle
accepte un jeu de paramètres assez(trop) vaste.
Tout d'abord
1)
où dois-je placer les instructions qui vérfient si le jeu de paramètres
passé est valide.
au début de la fonction ou à l'extérieur de la fonction
2)
si je peux faire un petit "traitement" pour que le jeu de paramètres
passé devienne valide.
au début de la fonction ou à l'extérieur de la fonction.
thanks!
-
Bonjour,
sur ce type de question, ma réponse est toujours la même: ça dépend.
Oui je sais ça ne t'avance pas beaucoup, mais malheureusement je ne peux pas être plus précis.
Car en effet, la bonne conception dépend du contexte. Si ce n'était pas le cas, nous serions inutiles, nous les développeurs.
Donc dans ton cas, si n'as que 2 cas où tu as du traitement à faire, tu les met dans tes fonctions de commande (basiquement, ton histoire est un d.p. command).
Par contre si tu peux potentiellement en avoir beaucoup, et surtout si tu peux factoriser les comportements, alors là il faudra les sortir et peut-être envisager l'utilisation de template à un moment ou à un autre.
Ce que j'essaie de te montrer, c'est que selon ton contexte, la bonne solution peut être la plus simple du monde (quelques lignes directement dans la commande) ou quelque chose de très sophistiqué (par exemple des foncteurs templates avec hiérarchie, sérialisation, etc. tu peux même penser connecter un moteur de règles distant, sous forme de web service ou de simple socket, enfin ça peut aller loin quoi).