Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何命名服务层的名称空间?_Asp.net Mvc_Repository Pattern_Service Layer - Fatal编程技术网

Asp.net mvc 如何命名服务层的名称空间?

Asp.net mvc 如何命名服务层的名称空间?,asp.net-mvc,repository-pattern,service-layer,Asp.net Mvc,Repository Pattern,Service Layer,因此,为我的存储库层命名很容易。我是这样做的: 接口位于Models.Repositories中。也许我会有Models.Repositories.IUserRepository之类的东西 然后,我将根据实现所做的工作创建子命名空间。因此,实现可能如下所示: Models.Repositories.MySql.UserRepository 您将如何对服务层执行类似的逻辑?现在我的接口和实现都在“服务”名称空间中,看起来有点。。高飞。比如,我应该把一些替代实现放在哪里 这真的取决于你,不过我喜欢根

因此,为我的存储库层命名很容易。我是这样做的:

接口位于Models.Repositories中。也许我会有Models.Repositories.IUserRepository之类的东西

然后,我将根据实现所做的工作创建子命名空间。因此,实现可能如下所示:

Models.Repositories.MySql.UserRepository


您将如何对服务层执行类似的逻辑?现在我的接口和实现都在“服务”名称空间中,看起来有点。。高飞。比如,我应该把一些替代实现放在哪里

这真的取决于你,不过我喜欢根据名字来组织。 首先在接口方面,我会有一个文件夹/名称空间接口,这样它们都可以很容易地查看/查找/等等

在服务层上-与您的操作方式完全相同

YourCompany.Project.Services.SomeAlternateImplementation
您也可以选择调用与服务合同相关的接口

YourCompany.Project.Services.Contracts

所以我想我真正想知道的是:对于存储库层,很容易知道如何命名实现:一个连接到MySQL。也许另一个连接到MongoDB等等。。。但是服务层呢?它选择要使用的存储库层。因此,服务层可以与MySQL存储库、Mongo存储库或任何东西一起使用。是否应将其视为“标准”服务层实现?