这一直是开发人员的鸡和蛋问题。您在哪里存储应用程序规则中使用的业务值。 (在ASP.NET,Window Forms或任何数据驱动的应用程序中)
我见过人们在创建表格时会存储文本和值表示,然后将这些记录链接到代码中(通过ID或文本名称)。对我而言,这是最糟糕的方式:
大多数开发人员告诉我这是我不买的“最佳实践”,因为它没有带来任何好处,而是将业务价值直接放到这样的应用程序:
public enum SourceLocation { Database = 0, File = 1, UserInput = 3 }
然后在来自/到数据库的[Column]上使用整数,它直接在数据对象上转换为Enum,因此逻辑可以直接说:
if(DataObject.Column == SourceLocation.File) //Read From File
它解决了上述所有问题,但是当您在应用程序之外运行数据库报表时,您需要在SQL中对这些值进行转换。
所以我仍然想知道开发人员是否还有其他“更好”的解决方案或模式。我的意思是每个数据驱动的应用程序都必须有一个方法/设计来解决这个问题,这个问题从一开始就存在。