2010-11-11 60 views
1

我在C#中使用ASP.NET,我在開發中很新,所以我想從專家那裏得到一些建議:-)。你如何命名和組織CLASS文件?

問題:

  • 什麼是組織類文件的最佳做法?
  • 你使用什麼樣的名字?
  • 對於Web應用程序項目,您如何命名NAMESPACE?

在我的案例中,我正在構建一個簡單的CMS。我認爲這樣的文件結構:

- AppCode 
    - Common 
    - UserDataInput.cs 
    - ExternalLibrary 
    - BusinessLayer 
    - FrontEnd 
    - BackEnd 
    - AccessLayer 

謝謝你們與我分享你的想法! Bye

+1

我寫了一個非常類似的[維基問題在這裏](http://stackoverflow.com/questions/3516313/the-ultimate-visual-studio-solution-structure)。有一些很好的答案。 – 2010-11-11 07:06:36

回答

1

命名約定對每個人都不同,沒有正確的答案只有最佳實踐,但有很多錯誤的。當談到面向對象的編程時,爲了模塊化的目的,不要過分誇大一些東西,比如DataHelpers項目可能會在你的後臺使用,但是可以使用gravatar helper類(這是一個實際的類在Microsoft.Web.Helpers)是一個矯枉過正的,因爲String.Format()和md5哈希方法是你所需要的。當涉及到模塊化時,您會在另一個項目中再次看到您需要的東西。

這不言而喻,但要確保你的方法類的名稱在你工作的上下文中有意義,當使用asp.net MVC時,我會有一個CMS.Controller項目和一個CMS.View項目,但是所有這些都將在CMS解決方案下,在經典的ASP.net中,我將命名爲CMS.BL或CMS.Web。我不會在AppCode中添加任何項目,只需將項目添加到您的解決方案中,並且不要將它們稱爲「常見」,當您在跨解決方案運行代碼時,它們會變得擁擠在* .Common命名空間中。

因此,通過項目對其代碼進行分類,並確保實現一個層次結構,以使您從Xbase繼承的classX與項目的temters中的相同類型的層次結構在實現此類模式在你的項目中,你將會更加成功,而不是Xbase被CSM.Web.Core和CMS.Web下的classX所接受,後者將爲循環引用鋪平道路。

這是一個im工作的項目的例子,它作爲一個MVC應用程序開始,但後來變成了一個具有winforms和一切的項目。

只要東西對你有意義,而且你對此感覺舒服,就可以擺脫一切,就像下面的解決方案中那樣,我有一個從Entities.Netsis繼承的Data.Netsis.Entities。

sample

希望這有助於。