【问题标题】:Is it a good practice to write helper functions in controller itself在控制器本身中编写辅助函数是一种好习惯吗
【发布时间】:2014-09-27 17:10:27
【问题描述】:

我是 Microsoft ASP.NET MVC 框架的新手。我正在从事 MVC 项目,我有一个控制器。它有各种 ActionResult 方法。此外,它需要几个辅助函数。我可以在控制器本身中编写它们吗?请指导我。

【问题讨论】:

  • 我建议你把你的助手写成类库。这将使您的代码更有条理,并且您可以使 dll 在其他解决方案中使用相同的帮助程序。

标签: asp.net-mvc model-view-controller


【解决方案1】:

不,这不是最佳实践。因为需要在静态类中定义/实现辅助函数。所以最好有独立的独立助手类。

【讨论】:

  • 无缘无故给社区新人投反对票可不是什么好事……
【解决方案2】:

答案是:视情况而定。首先,不清楚您对辅助函数的含义是什么。

  • 如果您在谈论 ASP.NET MVC HTML Helpers,最好将它们移动到单独的类中。 Tutorial how to create and use them.

  • 如果您谈论的是评估某些东西的通用辅助函数,当然您可以将它们留在控制器中,移动到基本控制器或移动到单独的类或库(取决于上下文)。你可以查看标准 System.Web.Mvc.Controller 的实现,里面有很多方法和属性。

【讨论】:

  • 感谢您的回复。我认为控制器只应该有动作方法,没有别的。我们可以将这些评估器也移到类库中吗?
  • 是的,当然您可以将它们移到单独的类库中。
【解决方案3】:

我认为对此没有具体的规定。

IF

您将重用辅助函数,将其抽象/分离到另一个类。

ELSE

将它放在同一个类中以获得更好的代码凝聚力和可读性。

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 1970-01-01
    • 2017-10-11
    • 2017-12-18
    • 2010-12-24
    • 2011-10-31
    • 2017-07-15
    • 1970-01-01
    • 2016-06-09
    相关资源
    最近更新 更多