2010-02-17 95 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的答案。