在.NET中存储业务值的位置 - SQL Server应用程序

时间:2012-09-13 17:36:23

标签: .net sql-server design-patterns application-design web-application-design

这一直是开发人员的鸡和蛋问题。您在哪里存储应用程序规则中使用的业务值。 (在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中对这些值进行转换。

所以我仍然想知道开发人员是否还有其他“更好”的解决方案或模式。我的意思是每个数据驱动的应用程序都必须有一个方法/设计来解决这个问题,这个问题从一开始就存在。

0 个答案:

没有答案