2012-05-17 33 views
5

是否存在與數據庫交互的類(CRUD事物或檢查重複)的標準命名約定。現在,我只是將其命名爲輔助,例如一個名爲「訂閱」該 與該表進行交互的類將被命名爲「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()); 
      } 
     } 
    } 
} 

我的示例代碼是這樣。

回答

9

根據我的經驗[並沒有任何意圖]當班級開始獲得像'助手'和'經理'這樣的名字時,這是因爲該班級的目的還沒有明確定義(我過去一直對此感到內疚我)。

在這種情況下,我會推測你並沒有真正考慮過你的數據訪問模式,並且你在'SubscriptionHelper'類中獲得了一堆ad-hoc SQL。

現在,如果您正在實施標準數據訪問模式(例如Repository模式),那麼您的類將稱爲SubscriptionRepository,其目的將更清晰。

因此,在回答這個問題 - 不,我認爲你的方案沒有標準的'命名'約定。但是,有幾種標準的設計模式可以應用於您的系統,並且通過這樣做,您最終可能會得到一個既具有信息含義又具有意義的命名約定。

下面是一些着名的設計模式的起點:http://martinfowler.com/eaaCatalog/,但是如果不瞭解更多關於該項目的信息,很難指導您進行更多的工作。

+0

我保證 - 你應該考慮模式而不是命名約定。例如MVC或存儲庫。在.Net中還有很多數據框架 - EF - LINQ - ADO ... – SyntaxGoonoo

+0

我不認爲在結束與一些只與數據交互的函數時會有任何恥辱。我經常這樣做,當他們的共同目的變得清晰時,我會重構一些更有意義的東西。 – Ally

3

是否有這樣的事情,作爲與數據庫交互的一類標準的命名規則

是,如何按照表格數據網關模式,在這種情況下,你有一個「訂閱者網關」用於訪問單個表或視圖的對象:選擇,插入,更新和刪除。

表數據網關:充當網關到數據庫表的對象。 http://martinfowler.com/eaaCatalog/tableDataGateway.html