8

是否存在与数据库交互的类的标准命名约定(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());
            }
        }
    }
}

我的示例代码是这样的。

4

2 回答 2

15

根据我的经验 [并且无意冒犯],当类开始获得像“Helper”和“Manager”这样的名称时,这是因为该类的目的尚未明确定义(我自己过去也曾犯过此罪)。

在这种情况下,我推测您并没有真正考虑过您的数据访问模式,并且您只是在“SubscriptionHelper”类中有一堆即席 SQL。

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

所以,回答这个问题 - 不,我认为您的场景没有标准的“命名”约定。但是,有几种标准设计模式可以潜在地应用于您的系统,并且通过这样做,您最终可能会得到一个既能提供信息又有意义的命名约定。

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

于 2012-05-17T02:35:30.917 回答
3

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

是的,如何遵循表数据网关模式,在这种情况下,您将拥有一个“订阅者网关”对象来访问单个表或视图:选择、插入、更新和删除。

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

于 2012-09-19T07:33:46.243 回答