2011-01-26 64 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

相关问题