给定这个 MVC 控制器的例子;伪代码...
PostController
{
private IGetPost _getPost;
private ICreatePost _createPost;
private IDeletePost _deletePost;
private IUpdatePost _updatePost;
public ActionResult Get()
{
return _getPost();
}
public ActionResult Create(post)
{
return _createPost(post);
}
public ActionResult Update(posts)
{
return _updatePost(post);
}
public ActionResult Delete(post)
{
return _deletePost(post);
}
}
我的问题是,如果调用控制器上的任何一个操作,控制器的所有依赖项都会为它们创建实例,这似乎是一种性能问题。有一个更好的方法吗?我唯一的想法是创建 4 个不同的控制器,每个控制器只有一个动作,但这似乎有点矫枉过正。我还想过在每个操作中直接调用 DependencyResolver,但我不确定如果我这样做会对单元可测试性产生什么影响。