2010-07-15 103 views
4

我有一個包含兩個命名空間,接口和服務的項目。每個服務實現其相應的接口。現在我需要方法聲明來包含爲一個服務聲明的枚舉。我將哪個命名空間放入枚舉中?如果我把它放在服務中,我需要在Interfaces中引用服務,這很醜陋。在界面中使用它會很整潔,但這不是真正屬於枚舉的地方。建議將此枚舉放在哪裏將受到歡迎。何處定義由接口和實現共享的枚舉?

回答

1

我會推薦一個通用名稱空間/程序集引用的兩個。您的DTO /實體在哪裏定義?這可能是理想的位置。

+0

最後說明了最有意義的。我把它放在了BusinessObjects程序集中。雖然它不是一個真正的商業業務對象,但BO實際上只是DTO的,所以它們也不是真正的業務:-) – ProfK 2010-07-15 12:12:57

0

我的界面和服務項目都會引用一個通用項目,其中包括需要在所有項目中共享的類型/枚舉。

1

通常,數據訪問接口(存儲庫)在與模型相同的名稱空間中定義。由於枚舉是模型的一部分,因此它也屬於該模型。

也許如果你重新考慮命名命名空間Interfaces,而是使用一個更具體的域名 - 例如ClientsAccounts等,定義接口與它們一起使用的類型會更自然。

1

在我們的系統中,我們有一個名爲Entities的名稱空間/程序集,其中包含所有接口,類型和枚舉定義。然後從服務器項目(實現接口)和客戶端項目(通過接口調用服務器)中引用它。 這對我們的要求非常有效。