Supposons que vous ayez un objet "post" dans un scénario de blog classique. Un article de blog peut avoir différents statuts tels que «brouillon», «publié», «approuvé», et cetera. Quelles sont les meilleures façons de gérer cela, en particulier en ce qui concerne le stockage de ces données dans la base de données d'une manière significative et de manière significative dans le code.Modèles de conception de code d'état
En général, j'ai vu ces stocké comme un int associé à une ligne dans la base de données (de la table « postes » dans cet exemple). Parfois, il y a une table de recherche dans la base de données pour expliquer ces états (c'est-à-dire la table d'état avec id => 1 name => draft, etc.). Normalement, je les traduis en une énumération dans la couche d'accès aux données pour avoir une représentation de code plus significative et pour éviter d'avoir des «nombres magiques».
Cependant, cette solution a une mise à jour de développeur deux endroits différents (base de données et le code) pour ajouter ou modifier un type d'état.
Quelle est la meilleure façon de faire cela? Cela semble être un type de problème que j'ai rencontré fréquemment, mais je n'ai jamais vu un bon moyen de le gérer.