Je cherche à créer quelque chose de similaire à un système de modèle de formulaire sur mon site Web. Par exemple, disons que je veux que les utilisateurs puissent créer des modèles de formulaires (similaires à Wufoo, ils peuvent définir n'importe quel nombre d'entrées, etc.). Ensuite, à partir de ces modèles créés, tout le monde serait capable d'utiliser ces modèles, de les remplir, et donc de créer un certain nombre d'instances de formulaires (cela serait possible pour chaque modèle défini par l'utilisateur). En outre, il n'y aurait aucune limite au nombre de modèles et d'instances créés. À partir d'un point de vue serveur/persistance, quelle est la meilleure façon de créer un système comme celui-ci? Aurais-je besoin de créer une nouvelle table de base de données pour chaque modèle créé, puis d'insérer les instances de formulaire en tant qu'enregistrements dans la table? Dans quelle mesure cette échelle?Modèle Design/Architecture
Répondre
Ce sujet est très large. En ce qui concerne l'évolutivité, Wufoo (et d'autres sites de création de formulaires) fonctionnent actuellement. Donc, une réponse brève est, c'est déjà fait, donc l'évolutivité ne devrait pas être un problème. Cependant, la génération aléatoire de plusieurs tables deviendra très rapidement incontrôlable.
Si vous ne rencontrez pas ce problème, je commencerais par créer le système avec des tables uniques et des UUID pour les clés primaires. Cela les rend mobiles plus tard. Ensuite, si la taille des tables devient un problème, vous pouvez répartir les tables comme bon vous semble. Par exemple, vous pouvez avoir tous les clients dont le nom commence par A dans la table a_forms
. En ce qui concerne la structure des tables, vous devez les construire comme UN-TO-MANY. Une forme peut avoir plusieurs éléments. Les éléments peuvent tous être prédéfinis (par exemple, texte, zone de texte, bouton radio, case à cocher, bouton Soumettre, etc.) Lorsque quelqu'un crée un formulaire, vous pouvez serialize()
les éléments de formulaire et les enregistrer dans la table. Lorsque le formulaire doit être rendu, vous unserialize()
, analyser les éléments et générer le formulaire.
- 1. Modèle MVC + modèle DDD
- 2. MVC modèle/héritage modèle
- 3. modèle méthode modèle
- 4. modèle modèle de stratégie
- 5. Modèle de modèle de contrôle
- 6. comment instancier modèle de modèle
- 7. ImportError: Références du modèle A Références du modèle B, du modèle B Modèle A
- 8. Paramètre modèle pour une spécialisation de modèle?
- 9. Le modèle de modèle viole l'encapsulation?
- 10. Quand utiliser le modèle de méthode modèle
- 11. Modèle Vue Contrôleur vs Modèle Voir présentateur
- 12. Rails Sous-modèle basé sur un modèle
- 13. Filtrage Formats de modèle de modèle
- 14. spécialisation de modèle de classe modèle
- 15. Modèle .Net Modèle de moteur/rapport
- 16. IntelliJ Modèle en direct: modèle setters modifiés
- 17. "modèle de classe" et "classe de modèle"
- 18. Différence entre modèle et ressource modèle
- 19. C++ CRTP (modèle de modèle) question
- 20. Django: modèle distinct dir pour le modèle
- 21. modèle ami
- 22. Modèle composé
- 23. C++ modèle
- 24. modèle disambiguator
- 25. Modèle UINavigationController
- 26. WSAEventSelect modèle
- 27. modèle manquant
- 28. Modèle Transperence
- 29. Modèle Threading
- 30. modèle partiel