Bonjour,

Je suis en train de refactorer du code pour générer un formulaire web dynamique et configurable via une interface d'administration.

La définition du formulaire est stockée dans une simple table config (id, type_champ, ordre)

Tous les type_champ possibles sont stockés dans une table type_champ

Dans le code existant, pour générer le formulaire, on parcourt cette table et dépendemment du type de champ, on crée le rendu html existant. Ce qui donne un truc très laid du genre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
POUR chaque config:
    SI type_champ = texte:
       créer code html pour texte:
    SI type_champ = pays:
       créer code html pour pays
    SI type_champ = "blabla"
       créer code html pour blabla
Éivdemment c'est une approche procédurale difficilement extensible et le code est impossible à maintenir.

Ce que j'aimerais c'est pouvoir facilement rajouter des nouveaux types de champ, et éviter tous ces "SI" dans le code.

Est-ce que vous voyez un patron de conception qui pourrait s'appliquer à ce cas?