Je viens de découvrir que certains co_workers utilisent Enum beaucoup. Et en utilisant Enum comme une sorte de magasin de données pour certaines listes, comme la liste d'état, la liste des rôles, etc. Et je ne suis pas sûr si c'est un bon moyen de traiter ce genre de données. Je voudrais mettre des données dans la base de données et ensuite les lire dans le cache au lieu de mettre les données dans le code lui-même.Enum vs cache? Lequel est le meilleur
Répondre
Pour répondre à ma propre quetsion. Ce sera la bonne réponse politique "Ça dépend ...". C'est 50% -50% question. Pour les développeurs qui aiment énumérations, Enum peut être très utile et le code peut être très clair ... Pour les développeurs qui détestent énumérations, Enum est rien Const dans un autre nom et à chaque fois il y a un nouveau statut ajouté, vous devez ajouter ce nouveau statut à l'Enum, .....
La décision de enum
par rapport à la table de base de données dépend si vous souhaitez que des valeurs supplémentaires soient ajoutées/supprimées pendant que le système est en production.
Par exemple:
Utilisez enum
pour:
Mode de paiement (espèces, chèque ou carte de crédit)
fréquence de facturation (quotidienne, hebdomadaire, mensuelle, trimestrielle)
Sexe
Etat
Utilisez une table de base de données pour:
transporteur pour la livraison (FedEx, UPS, ???)
catégorie de produits (livres, musique, jeux,? ??)
compagnie aérienne
- 1. MVP vs. Modèle de présentation, lequel est le meilleur?
- 2. Lequel est le meilleur Math.random() ou UIDUtil.createUID()
- 3. jTemplates vs Modèles jQuery. Lequel est le meilleur? Y a-t-il un meilleur?
- 4. Lequel de ces modèles est le meilleur?
- 5. Lequel est le meilleur serveur COMET?
- 6. Lequel de ces éléments est le meilleur?
- 7. Lequel est le meilleur en SQL?
- 8. Lequel est le meilleur? "var" ou "DataType"?
- 9. Mysql Query perfomance. Lequel est le meilleur?
- 10. Lequel est le meilleur? URLReWriter.net ou URLReWriting.NET
- 11. [Aptana/Eclipse]: Lequel est le meilleur?
- 12. Lequel est le meilleur? OpenCyc ou ConceptNet?
- 13. Lequel de ces modèles est le meilleur?
- 14. stdClass vs tableau. Lequel est recommandé?
- 15. Lequel est le vrai Bubble Sort, et lequel est le meilleur?
- 16. Lequel des formats de données JSON suivants est le meilleur? (Tableau de tableaux vs Tableau d'objets)
- 17. lequel est le meilleur moyen d'afficher du HTML dans Flex?
- 18. lequel est le meilleur pour remplir DataGridView lambda ou linq?
- 19. Débutant Ruby - lequel de ces énoncés conditionnels est le meilleur?
- 20. Django-Socialauth ou django-social-auth, lequel est le meilleur?
- 21. Lequel est le meilleur comor apporach ou ajax?
- 22. WPF - Lequel est le meilleur? Style ou contrôle utilisateur?
- 23. Lequel est le meilleur? Adobe Director ou Flash?
- 24. Lequel de ces moyens est le meilleur en Java?
- 25. Lequel est le meilleur en termes de lisibilité?
- 26. Lequel est le meilleur Fonctions Singleton class ou Partagé (statique)
- 27. accdb contre mdb. Lequel est le plus rapide/meilleur?
- 28. Lequel de ces deux blocs IF est le meilleur codage?
- 29. cache physique vs cache logique
- 30. Boolean vs. Enum vs. Flag
Les types énumérés ne stockent pas de données, ils les nomment. Garder des données dans la base de données et s'y référer avec des enums est tout à fait possible, et l'un n'a aucun lien avec l'autre. L'exception serait s'il y a une autre table de base de données reliant des valeurs de code avec leurs significations. De plus, c'est assez subjectif et cela n'appartient pas vraiment ici. Une version assaini a identifié les problèmes seraient appropriés pour programmers.stackexchange.com –
La valeur configurable comme les types d'animaux ou est-il fixé comme le sexe ou quarts? –
Matthew: toutes sortes de données, comme les genres, comme les statuts, comme compagnies aériennes, comme pays, comme les environnements de code .... –