2011-01-26 78 views
0

我對服務的概念有點困惑。服務設計:我應該在哪裏放置我的驗證代碼?

假設我想創建一個新用戶。 現在,我正在檢查模型(project.Web解決方案)和UserServices中是否所有字段都是非空(project.Services解決方案)。但要驗證電子郵件地址,我必須創建一個新功能。 我應該在project.Services中創建該類,類似於GeneralValidation.cs並使用它,還是應該將它從服務中分離出來並創建一個新項目?

直到現在我還沒有爲存儲庫和服務創建兩個解決方案。我只有一個測試解決方案,另一個是project.Web,另一個解決方案是我有一個域文件夾,存儲庫文件夾和幾個業務邏輯類,但是在閱讀了一些我已經決定分割的設計模式之後這個。

也許我還不明白服務的含義。對我而言,服務是一個會消耗資源庫的層(如用戶),服務層是我應該進行驗證的地方。如果這是正確的,那就是爲什麼我不知道在哪裏創建電子郵件驗證功能的例子。

如果有人能解釋我,我真的很感激。我已經閱讀過博客文章,並在stackoverflow中搜索類似的問題,但我無法確定我是否真的瞭解它。

感謝

+0

讓自己變得更好。 「設計模式」沒有傳達你要問什麼。 – 2011-01-26 23:04:18

回答

1

服務和存儲庫在領域驅動設計「一等公民」,所以我不明白你爲什麼會想要把它們放在一個單獨的項目?

針對您的特殊情況下,你爲什麼不創建一個「UserService」其中有一個方法「CREATEUSER」,它看起來比如像這樣:

public static class UserService 
{ 
    public static CreateUser(User u) 
    { 
     var userRepository = RepositoryFactory.CreateUserRepository(); 

     userRepository.Save (u); 

     SendActivationMailForUser(u); 
    } 

    private static void SendActivationMailForUser(User user) 
    { 
     .... 
    } 
} 

關於服務的一些詳細信息,可以發現here

+0

謝謝,現在我已經在相同的解決方案中存儲庫和服務。 這是一篇不錯的文章,你推薦我,再次感謝。 – 2011-01-28 05:57:01

相關問題