Traits pour représenter des hypotheses de modèles?
Salut!
C'est un peu le bazar dans mon framework de simulation. Du coup je veux rendre la vie un peu plus simple à l'utilisateur.
Le plus difficile c'est de se repérer correctement dans l'espace des modèles possibles. Du coup plutot que de donner un nom de classe à chaque modèle, je me demande si ce serait pas mieux de choisir une methode via une série de types (traits?) donnant les hypothèse du modèle. Le modèle / la fonction à appeler serait construit au compile-time, mais un patron multimethods permettrait de trouver la bonne fonction à appeler si ces choix se font au runtime via par exemple boost::program_options.
Du coup en pseudo code on pourrait faire un truc comme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
model =
{
no_selection,
no_mutation,
no_migration,
non_overlapping_generation_times,
random_mating,
discrete_time
};
simulate(model); |
Ca peut marcher un truc comme ça, ou je dis n'importe quoi? :aie: C'est possible à terme de choisir la fonction/modèle à appeler au runtime, n'est-ce pas?