2011-09-17 29 views
0

我想用Add(),Delete()等函數創建一個類來將用戶存儲在數據庫中。爲存儲用戶的類命名約定和結構

那麼,什麼是更好的命名約定和結構?

無論是在一個類:

**EXAMPLE** 
User.Add("Username", "Password"); 
User user = User.GetUser(); 

class User 
{ 
    public User(string username, string password) 
    { 
     Username = username; 
     Password = password; 
    } 

    public string Username { get; set; } 
    public string Password { get; set; } 

    public static void Add(string username, string password) 
    { 
     //Add user to database 
    } 

    public static User GetUser() 
    { 
     //Get user from database 
    } 
} 

或兩個班分開,並使用*經理後綴...

**EXAMPLE** 
UserManager.Add("", ""); 
User user = UserManager.GetUser(); 

class UserManager 
{ 
    public static void Add(string username, string password) 
    { 
     //Add user to database 
    } 

    public static User GetUser() 
    { 
     //Get user from database 
    } 
} 

class User 
{ 
    public User(string username, string password) 
    { 
     Username = username; 
     Password = password; 
    } 

    public string Username { get; set; } 
    public string Password { get; set; } 
} 

或者是兩個例子不好,你有一個更好的?

回答

1

其中名稱爲「manager」的類通常指向一些不太知名的設計。

我會去經典Repository-patterndependency-injection

這基本上是:

  • 獲得與CRUD操作的接口
  • 注入這個具體實現的情況下,您需要他們,而不是使用的具體實現自己
1

我喜歡第二種方法,使用沒有邏輯和管理器類的簡單實體,事實上MS實體框架差不多相同,實體只有屬性,DBContext生成允許您查詢,添加和編輯實體。小提示:不要製作UserManager靜態方法,類應該是一個具有實例方法的普通類,這樣您可以輕鬆地進行測試並根據需要插入/。

小二注意:您不會以明文形式檢索用戶的密碼或以明文形式將其存儲在數據庫中嗎?!?! :D

+2

注意第二個......我們都已經完成了這個:)但是爲了警告+1;) – Carsten