permet de dire que je suis une table enum comme ceci:Making code métier lisible, base de données énumérations
id name desc
0 Normal Normal shipping
1 Fragile Fragile, handle with care
et je suis une règle d'affaires sur une commande
double ShippingPrice(Product p)
{
if (p.ShippingType == 1) // Fragile
return GetFragileShippingPrice(p);
else
return GetNormalShippingPrice(p);
}
Peut-être pas le meilleur exemple. Mais le point est, comment faites-vous le "p.ShippingType == 1" partie lisible. Lorsque la personne suivante vient pour gérer ce code, il doit trouver la base de données de production et les tables de requêtes pour chaque règle métier afin de comprendre ce qu'elles font.
J'ai considéré que la simple création d'une énumération dans le code ne faisait que dupliquer les données dans la base de données, mais cela ne semble pas non plus une bonne solution.