2010-07-15 67 views
4

我有一个包含两个命名空间,接口和服务的项目。每个服务实现其相应的接口。现在我需要方法声明来包含为一个服务声明的枚举。我将哪个命名空间放入枚举中?如果我把它放在服务中,我需要在Interfaces中引用服务,这很丑陋。在界面中使用它会很整洁,但这不是真正属于枚举的地方。建议将此枚举放在哪里将受到欢迎。何处定义由接口和实现共享的枚举?

回答

1

我会推荐一个通用名称空间/程序集引用的两个。您的DTO /实体在哪里定义?这可能是理想的位置。

+0

最后说明了最有意义的。我把它放在了BusinessObjects程序集中。虽然它不是一个真正的商业业务对象,但BO实际上只是DTO的,所以它们也不是真正的业务:-) – ProfK 2010-07-15 12:12:57

0

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

1

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

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

1

在我们的系统中,我们有一个名为Entities的名称空间/程序集,其中包含所有接口,类型和枚举定义。然后从服务器项目(实现接口)和客户端项目(通过接口调用服务器)中引用它。 这对我们的要求非常有效。