与数据库交互的类的命名约定

时间:2012-05-17 02:15:40

标签: c# .net naming-conventions

是否存在与数据库交互的类的标准命名约定(CRUD事物或检查重复)。现在我把它命名为Helper,例如一个名为“Subscriptions”的类 与该表交互将命名为“SubscriptionHelper”

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LoopinWineBackOffice.Helper
{
    public class SubscriberHelper
    {
        public static bool IsEmailAlreadyInUsed(string email)
        {
            using (var dc = new LoopinWiineContainer())
            {
               return dc.Subscribers.Any(item => item.Email==email.Trim());
            }
        }
    }
}

我的示例代码是这样的。

2 个答案:

答案 0 :(得分:10)

根据我的经验[而且没有冒犯意图]当课程开始获得“帮助者”和“经理”这样的名字时,这是因为该课程的目的尚未明确定义(我过去曾对此感到内疚) )。

在这种情况下,我推测你还没有真正考虑过你的数据访问模式,而且你在'SubscriptionHelper'类中只得到了一堆特别的SQL。

现在,如果您正在实现标准数据访问模式,例如Repository模式,那么您的类将被称为SubscriptionRepository,其意图将更加清晰。

因此,在回答问题时 - 不,我认为您的方案没有标准的'命名'约定。但是,有几种标准设计模式可以用于您的系统,通过这样做,您最终可能会得到一个既有信息又有意义的命名约定。

以下是一些众所周知的设计模式的起点:http://martinfowler.com/eaaCatalog/,但如果不了解项目的更多信息,那么很难指导您进一步指导。

答案 1 :(得分:3)

  

是否存在与数据库交互的类的标准命名约定

是的,如何遵循表数据网关模式,在这种情况下,您有一个"订户网关"用于访问单个表或视图的对象:选择,插入,更新和删除。

表数据网关:充当数据库表的网关的对象。 http://martinfowler.com/eaaCatalog/tableDataGateway.html