7
ビジネスロジックでのデータベース値の参照
これはハードコーディングとベストプラクティスに関する別の質問だと思います。データベースに保存されている値のリストがあるとしましょう(テーブルはSSRSレポートなどの他の目的に使用されるため、データベースに存在する必要があります)。 1 Apple 2 Banana 3 Grapes それらをユーザーに提示し、ユーザーが1つ選択すると、FavouriteFruitとしてプロファイルに保存され、IDがデータベースのレコードに保存されます。 ビジネスルール/ドメインロジックに関しては、特定の値にロジックを割り当てるための推奨事項は何ですか。ユーザーがGrapesを選択した場合、追加のタスクを実行したい場合、Grapes値を参照する最良の方法は次のとおりです。 // Hard coded name if (user.FavouriteFruit.Name == "Grapes") // Hard coded ID if (user.FavoriteFruit.ID == 3) // Grapes // Duplicate the list of fruits in an enum if (user.FavouriteFruit.ID == (int)Fruits.Grapes) または、他の何か? もちろん、FavouriteFruitはアプリケーション全体で使用されるため、リストは追加または編集できます。 誰かが「ブドウ」の名前を「ブドウ」に変更したいと思うかもしれませんが、これはもちろんハードコードされた文字列オプションを壊します。 ハードコードされたIDは完全には明確ではありませんが、示されているように、コメントを追加するだけで、どのアイテムであるかをすばやく識別できます。 enumオプションには、データベースからのデータの複製が含まれますが、同期が取れなくなる可能性があるため、間違っているようです。 とにかく、コメントや提案を事前に感謝します。
43
design