您是否将助手类存储在单独的程序集中?

时间:2010-02-21 03:18:32

标签: asp.net asp.net-mvc

我只是想知道是否有人将他们的助手类或方法存储在一个单独的程序集中,为什么......只是为了清理它们?我已经看到很多关于在你的MVC项目中使用帮助文件夹的帖子,这让我回到了ASP.NET的旧时代,人们使用App_code文件夹,而不是像这样将物理分离到自己的项目中

同样没人做真正的架构会将模型放在MVC web组件的某个文件夹中。他们会进入MyApp.DataLayer程序集或MyApp.Models或类似的东西。

5 个答案:

答案 0 :(得分:3)

是的,但是由于其他组件也常见的原因

  • 很容易插入任何其他项目。(可能需要一些版本)。
  • 可重复使用
  • 易于改进
  • 易于折射
  • 不是项目的一部分,而是项目 本身,它易于记录,便于开发人员理解
  • 清除一些混乱

但是对于上述所有内容,你的程序集在准备就绪时应该是“干得好”,否则,最好将帮助程序类保持在它们所属的位置。

答案 1 :(得分:2)

我们在一个单独的项目中有一些助手,有些在Web项目中。我想你会发现你的一些帮助者需要使用你在web项目中定义的抽象。这通常会迫使您将这些帮助程序放入Web项目中,因为不太可能需要一些其他项目来引用Web项目。我不认为它与使用App_Code相同。这些是在IDE内部编译时编译的文件,没有特殊的“魔法”应用于App_Code。

答案 2 :(得分:1)

我使用项目来分离网页中的不同图层或表单应用。它允许我更好地尊重业务规则。此外,如果我想进行更改,我发现更容易找到我需要去的地方。

但是我看到人们使用文件夹来标记解决方案中的图层,但我认为这有点混乱。

答案 3 :(得分:1)

是的,因为它们是业务层的一部分。两大回报:

  • 可重用性
  • 可测

请记住,您的实用程序函数和帮助程序类可能是整个系统中使用最频繁的组件。如果没有完整的BICEP测试,您将面临真正无法接受的风险。

答案 4 :(得分:0)

我创建的大多数帮助程序通常都是特定于图层的,因此我倾向于将它们与程序集保持在需要它们的基本程序集中。我没有看到在另一个项目中添加存储大量特定帮助程序类的原因。