我正在构建一个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