2010-02-17 86 views
5

我目前对我所有的类都使用App_Code文件夹,对于我来说(现在)它似乎工作得很好。类库项目VS App_Code - 优点/缺点?

但是我一直在考虑切换到我的解决方案中的类库项目而不是App_Code文件夹。任何人都可以告诉我这样做的利弊吗?

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

+0

http://stackoverflow.com/questions/398037/asp-net-web-site-or-web-application – womp 2010-02-17 08:41:10

回答

6

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

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

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

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

+0

这是一个很好的答案,而且非常有意义。在上面的问题中,我提到了在测试时反复编译类库...有没有办法解决这个问题? – 2010-02-17 04:45:34

+0

所以答案是我必须在每次进行调整或修改时编译它。 – 2010-02-18 16:40:23

+0

如果您没有更改它,则不必编译业务逻辑。编译并不需要太多时间,并且不是将所有代码保存在UI层中的理由。 – 2010-02-18 18:24:49

0

Jimmy Bogard(作者Automapper)已经写了一个很好的article关于他如何构建他的代码,这可能有助于确认@David的答案。