【问题标题】:Class Library Project VS App_Code - Pros / Cons?类库项目 VS App_Code - 优点/缺点?
【发布时间】:2011-01-17 17:03:14
【问题描述】:

我目前的所有课程都使用 App_Code 文件夹,对我来说(目前)它似乎工作得很好。

然而,我一直在考虑切换到我的解决方案中的类库项目,而不是 App_Code 文件夹。谁能告诉我这样做的利弊?

我的一个想法是关于测试我的网络应用程序。如果我使用类库,每次我想调整/测试时都必须编译它吗?显然在 App_Code 文件夹中我不必这样做,因为所有的类都是在运行时编译的。

【问题讨论】:

标签: asp.net class-library app-code


【解决方案1】:

您应该使用类库。原因很简单。

您想从 UI 中删除您的业务或应用程序逻辑。 App_Code 文件夹仅用于处理 UI 的类。

分离的原因是为了创建层级。这意味着今天你有一个网站,明天你可能会被要求制作一个 Windows 程序,或者一个新的网站。如果您必须更改您的 UI,您将复制和粘贴代码。这意味着您现在有 2 个或更多位置来维护代码。这将导致代码质量下降,在 2 个或更多地方修复相同的错误。

如果您将代码放在库中。您创建一个新的 UI,然后只引用该库。您现在只使用了一组代码。

【讨论】:

  • 这是一个很好的答案,而且非常有意义。在我上面的问题中,我提到在测试时必须一遍又一遍地编译类库......有没有办法解决这个问题?
  • 所以答案是每次我进行调整或修改时都必须编译它?
  • 业务逻辑没改就不用编译了。编译不会花费太多时间,也不是将所有代码保留在 UI 层中的好理由。
【解决方案2】:

Jimmy Bogard(Automapper 的作者)写了一篇出色的article,介绍了他如何构建他的代码,这可能有助于确认@David 的答案。

【讨论】:

    猜你喜欢
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 2015-12-09
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2011-01-15
    相关资源
    最近更新 更多