2012-06-20 35 views
0

因此,对于命名空间我的存储库层,这很容易。我做这样的事情:你如何命名空间你的服务层?

接口住在Models.Repositories。所以也许我会有Models.Repositories.IUserRepository或其他东西。

然后我根据实现做了什么的子命名空间。因此,实现可能像这样:

Models.Repositories.MySql.UserRepository

你会怎么做与业务层的一些类似的逻辑?现在我只是在“服务”命名空间中有我的接口和实现,它看起来有点...愚蠢。就像,我会在哪里放置一些替代实施?

回答

0

这真的取决于你,但我喜欢根据名称进行组织。 首先在接口上,我会有一个文件夹/命名空间接口,所以他们都很容易查看/找到/等。

在服务层 - 完全相同的方式,你这样做。

YourCompany.Project.Services.SomeAlternateImplementation 

您也可以选择调用与您的服务合同相关的接口。

YourCompany.Project.Services.Contracts 
+0

因此,我想我真正想知道的是:使用存储库层,很容易知道如何命名实现:一个连接到MySQL。也许另一个连接到MongoDB等...但服务层?它选择要使用的存储库层。因此,服务层可以与MySQL存储库或Mongo存储库或任何其他应用程序一起使用。它应该被认为是“标准”服务层实现吗? – Sean