使用多个是一个好习惯

时间:2015-01-27 06:58:28

标签: controller breeze

我很陌生。在我们的应用程序中,我们有多个存储库和一个breeze API控制器来处理通信。但是,由于应用程序很大,breeze控制器被分成几个部分类,将问题分开。例如,我们有相关的存储库来处理Location,Holiday和Service实体,并且为了使与这些实体相关的通信,我们使用一个部分类控制器。还有其他几个存储库。

//ClientLocationController.cs
public partial class ClientController : ApiController {
      //handles location related communication
}

//ClientUserController.cs
public partial class ClientController : ApiController {
      //handle user related communication
}

我的问题是,使用扩展BreezeController的多个控制器是不是很糟糕?在上面的例子中,我们可以使用两个控制器代替部分类吗?

//ClientLocationController.cs
 public class ClientLocationController : ApiController {
      //handles location related communication
}


//ClientUserController.cs
public class ClientUserController : ApiController {
      //handle user related communication
}

我们在MVC中使用这种类型的设计。在Breeze中做同样的事情是不好的做法吗?

1 个答案:

答案 0 :(得分:1)

为不同的功能区域或"域使用单独的控制器类"是分离问题的常用方法。

如果您有许多功能区域,每个功能区域都有自己的实体集,那么单独的控制器类特别有用。

有些甚至可能为每个实体类型使用一个控制器。

以您所描述的方式使用部分类将更多地被视为代码组织实践(或反实践),类似于代码regions。如果你真的想分开一些事情,那就要避免。

有关部分类用例的更多信息:When is it appropriate to use C# partial classes?