Luk*_*zen 2 c# singleton enums
我有以下问题:
在代码中使用状态的首选方法是什么?枚举OR单例?
我在DB中存储了状态值及其ID.如果de DB中的状态更改,则代码中还需要进行一些更改.
根据惯例,现在有人更喜欢什么?
我一直在网上看,但找不到明确的答案.
这部分取决于您的状态的ID是否具有保证值,或者每个数据库是否可以更改ID(通过a IDENTITY).就个人而言,对于我更喜欢固定的状态 - 这给你最大的灵活性和最少的开销 - 你可以选择使用枚举(或者如果更方便的话可能是一些consts),你永远不必添加间接,即"获取id那就是open".
但是,这并不总是可行的,当它不存在时,它仍然非常有用于缓存和重用它们(以避免命中数据库进行查找).但是,我会避免使用单例,尤其是因为如果您需要与多个数据库进行通信,它将无法很好地发挥作用 - 每个数据库中的ID可能会有所不同.但是,任何合适的缓存实现(或者可能是IoC/DI)都应该允许您存储适当的数据(可能是某种字典).单身也只是有点痛通常,如果你想测试等
但是:枚举和固定的id值要简单得多.
请注意,在任何实现中,更改状态列表都是一项非常重要的操作,尤其是它将是一个很大的UPDATE(或者如果你是非规范化的那么几个).
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |