命名約定對每個人都不同,沒有正確的答案只有最佳實踐,但有很多錯誤的。當談到面向對象的編程時,爲了模塊化的目的,不要過分誇大一些東西,比如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。
希望這有助於。
我寫了一個非常類似的[維基問題在這裏](http://stackoverflow.com/questions/3516313/the-ultimate-visual-studio-solution-structure)。有一些很好的答案。 – 2010-11-11 07:06:36