次のような列挙テーブルがあるとしましょう。
id name desc
0 Normal Normal shipping
1 Fragile Fragile, handle with care
そして、私は注文に関するいくつかのビジネスルールを取得しました
double ShippingPrice(Product p)
{
if (p.ShippingType == 1) // Fragile
return GetFragileShippingPrice(p);
else
return GetNormalShippingPrice(p);
}
最良の例ではないかもしれません。しかし重要なのは、「p.ShippingType == 1」の部分をどのように読めるようにするかということです。次の人がこのコードを保守するためにやってきたとき、彼は本番データベースを見つけて、すべてのビジネス ルールのテーブルをクエリして、彼らが何をしているかを理解する必要があります。
コードで列挙型を作成するだけでデータベースにデータを複製することを検討しましたが、それも良い解決策とは思えません。