【问题标题】:Is it a good practice to use multuple使用多个是一个好习惯吗
【发布时间】:2015-01-27 06:58:28
【问题描述】:

我对微风很陌生。在我们的应用程序中,我们有多个存储库和一个微风 API 控制器来处理通信。但是,由于应用程序很大,因此微风控制器被分成几个部分类,从而分离了关注点。例如,我们有相关的存储库来处理位置、假期和服务实体,并且为了与这些实体进行通信,我们使用一个部分类控制器。还有其他几个用于其他存储库。

//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 中做同样的事情是不好的做法吗?

【问题讨论】:

    标签: controller breeze


    【解决方案1】:

    为不同的功能区域或“域”使用单独的控制器类是分离关注点的常用方法。

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

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

    以您描述的方式使用部分类将被视为类似于代码regions 的代码组织实践(或反实践)。如果您真的想分开事物,应该避免的事情。

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

    【讨论】:

    • 感谢您的回复。我知道使用 MVC 这样做是有意义的,但是在使用轻风时,我们是否需要将其保存在单个控制器中,以便所有客户端通信都通过一个点?或者我们是否也可以使用带有微风的单独控制器?
    • 独立的控制器是个好东西。更新我的答案以使其更清楚。
    猜你喜欢
    • 2016-01-03
    • 2014-07-24
    • 2014-12-22
    • 2020-08-25
    • 2015-05-08
    • 2010-09-11
    • 1970-01-01
    • 2010-12-05
    • 2019-08-05
    相关资源
    最近更新 更多