在哪里定义由接口和实现共享的枚举?

时间:2010-07-15 11:55:33

标签: .net

我有一个带有两个名称空间,接口和服务的项目。每个服务都实现其相应的接口。现在我需要方法声明来包含为一个服务声明的枚举。我把枚举放在哪个命名空间?如果我把它放在服务中,我需要引用接口中的服务,这很难看。在接口中使用它会非常简洁,但这并不是枚举所属的地方。关于在哪里放置这个枚举的建议将受到欢迎。

4 个答案:

答案 0 :(得分:1)

我建议使用两者引用的通用命名空间/程序集。您的DTO /实体在哪里定义?这可能是理想的位置。

答案 1 :(得分:1)

通常,数据访问接口(存储库)与模型在同一名称空间中定义。由于枚举是模型的一部分,因此它也属于那里。

也许如果您重新考虑命名空间Interfaces,而是使用更具域名的名称 - 例如ClientsAccounts等,定义接口与它们一起使用的类型会更自然。

答案 2 :(得分:1)

在我们的系统中,我们有一个名为Entities的命名空间/程序集,它包含所有的Interface,Type和Enum定义。然后从服务器项目(实现接口)以及客户端项目(通过接口调用服务器)引用它。 这非常适合我们的要求。

答案 3 :(得分:0)

我的接口和服务项目都会引用一个公共项目,其中包括需要在所有项目中共享的类型/枚举。