我想我开始混淆MVC中的控制器的工作。ASP.NET MVC - 作业控制器
我有暴露五大功能服务:在队列
- 列表包接受包
- 否认包
我ASP.NET MVC控制器依赖于这个服务,和ca n通常在Action上执行服务调用。到目前为止我很开心。
第二部分是构建ViewModel结果。如果我在控制器内部执行此操作,则控制器现在具有爆炸依赖项列表 - 添加的每个操作都会增加依赖项以构建视图模型,并且这些都由控制器继承。我不太喜欢这个。我构建的这个控制器依赖于N个不同的视图模型构建器,但是每个请求只能使用其中的一个。
所以我正在考虑把所有这一切都拿出来,并针对每个视图模型应用特定的操作过滤器。我还没有这样做,但似乎没关系。
这对我提出的问题是:控制器的责任是什么?如果我最终将视图模型构建为过滤器,那么我的控制器只不过是让一个路由执行一个服务调用(并提供一个过滤器插件)。如果我让我的控制器负责构建每个视图模型,它就变得一团糟。
看来我几乎想要实例化每个请求的操作,而不是控制器,而我只是在滥用过滤器来实现这个目标?
这个问题急需一些代码示例。 – 2009-08-24 06:34:49