使用多个是一个好习惯吗

Posted

技术标签:

【中文标题】使用多个是一个好习惯吗【英文标题】: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 中做同样的事情是不好的做法吗?

【问题讨论】:

【参考方案1】:

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

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

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

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

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

【讨论】:

感谢您的回复。我知道使用 MVC 这样做是有意义的,但是在使用轻风时,我们是否需要将其保存在单个控制器中,以便所有客户端通信都通过一个点?或者我们是否也可以使用带有微风的单独控制器? 独立的控制器是个好东西。更新我的答案以使其更清楚。

以上是关于使用多个是一个好习惯吗的主要内容,如果未能解决你的问题,请参考以下文章

使用“视图”进行分组是一种好习惯吗?

创建多个线程来处理多个请求是一种好习惯吗?

单个 Try Catch 块中的多个 JDBC 语句。是好习惯吗?

这是在mysql中的同一个表上创建多个视图的好习惯(性能方面)吗

好习惯?虚拟对象

AAA 是 Coded UI 测试的好习惯吗?