我正在構建一個ASP Web API應用程序,這次我想我將使用MVC模式。我和大部分東西相處得很好,但有一件事我不確定。首先我所有的項目包括以下內容:C#(Web API)多層(IOC)API控制器返回類型
- 數據層
- 業務層
- 模型層(只是模型的屬性)
服務應用(在這裏是我的控制器)
每個人都在一個單獨的項目中
可以說我有以下控制器
public class TestController : ApiController
{
ISomeService _someBusiness;
public TestController(ISomeService someBusiness)
{
_someBusiness = someBusiness;
}
public **SomeModelObject** GetModelObject(ind id)
{
return _someBusiness .GetSomeModelObject(id);
}
}
現在我的問題是返回值爲GetModelObject(int id)
。這裏寫着SomeModelObject
。這意味着我的Service應用程序(或我的控制器)必須知道正在使用的模型的所有內容(所以我沒有看到在單獨的.dll中定義它的要點)。一種方法是將模型(準確地說是get/set方法)定義爲接口,但我認爲每個模型類都有一個接口太多了(主要是因爲,正如我所說的,只是屬性被存儲在模型中),儘管如此,我只是覺得不適合爲只存儲數據的類創建接口。那麼,在這種情況下是否有任何通用響應類型(甚至是一些完全不同的方法),還是我必須使用我的模型類(或者我可能總是使用字符串,並且它正在被轉換爲適當的格式客戶端) ?
我不明白爲什麼你有一個問題引用模型層的DLL從服務。這是很正常的事情。 – Fordio 2014-10-04 10:46:59