將解決方案分解爲邏輯層時,何時最好使用單獨的項目而不是文件夾分組?Visual Studio解決方案中的文件夾或項目?
回答
默認情況下,總是一樣的項目
- ,你會得到一個組件(無需額外的ILMerge體操)
- 更容易混淆(因爲你將有較少的公共類型中創建新的文件夾和方法,最好是沒有)
分離你的源代碼,分爲多個項目也只意義,如果你...
- 有是該項目的一部分,但不是默認或全部(單元測試,額外的插件等)參與
- 更多的開發部署的源代碼的一部分,並要善待自己爲消耗黑工框。 (不是很推薦)
- 如果你可以清楚地分開你的項目進入隔離層/模塊,並且你要確保他們不能跨消耗內部成員。(也不推薦,因爲您需要決定哪個方面是最重要的)
如果您認爲源代碼的某些部分可以重複使用,仍然不要將其創建爲新項目。等到你真的想在另一個解決方案中重用它並根據需要將它與原始項目隔離開來。編程不是樂高,重複使用通常非常困難,往往不會按計劃進行。
我通常爲GUI做一個項目,用於業務邏輯的項目是數據訪問項目和單元測試項目。
但有時需對在服務基礎(如果你使用的是面向服務的架構)的分離,如認證,銷售等
我想經驗,我過的是,工作規則如果你可以把它看作是一個明確區分的組成部分,那麼不同的項目可能是謹慎的。但我認爲文件夾和項目可能只是一種偏好或哲學。
我個人覺得如果可重用的代碼被拆分成項目,使用其他地方比在文件夾中更簡單。
丹尼寫道:
我個人覺得,如果可重用的代碼被分成項目,它更容易使用比其他地方,如果它僅僅是在文件夾中。
我真的同意這一點 - 如果你可以重用它,它應該在一個單獨的項目。隨着中說,它也很難有效地重用:)
這裏在SO,我們一直在努力,是非常簡單的三個項目:
- MVC的Web項目(不分離的一個很好的工作圖層成默認文件夾),爲我們的DB的源代碼控制對MVC模型
- 單元測試
- 數據庫項目/控制器
我不能爲大家說話,但我很高興w ^我們保持它的多麼簡單 - 真正加快了構建速度!
分離你的源代碼到 多個項目也只意義,如果你 ... ...更多開發商參與 和你要正確對待他們的工作 消耗的黑盒子。 (不是很推薦的 )...
爲什麼不推薦這麼做?我發現它是一個非常有用的方式來管理一個應用程序與幾個開發人員在不同部分工作。主要通過消除合併,使簽入更容易。兩個開發人員很少必須同時在同一個項目上工作。
這只是推薦的代碼足夠穩定,以便明確責任和接口,以確定項目。 – reinierpost 2010-06-11 14:12:25
分離功能集成到項目往往是YAGNI結構優化。你真的多久重複使用這些獨立的項目?如果不是經常發生,則會使您的開發,構建,部署和維護複雜化以實現理論重用。
我更喜歡分成文件夾(使用適當的命名空間)和重構,當你有一個現實生活中的重用用例分離項目。
當我更換「理論再利用」與「測試」,不你的結論仍持有? – reinierpost 2010-06-11 14:06:12
如果你去創建了幾個項目,確保每個人都誰添加代碼,以解決辦法是充分意識到他們的意圖,並盡你所能,讓他們瞭解項目之間的依賴關係。如果你曾經試圖理清混亂,當有人已經並補充說,不應該一直存在引用,掠走了好幾個星期,你就會明白這一點
我真的覺得這是更好地拆分項目這一切都取決於項目的規模和人員的數量。
對於較大的項目,我有
- 數據訪問的項目(型號)
- 服務
- 前端
- 測試
我得到的模型由羅布·康納利和他的店面應用......似乎工作得很好。
- 1. 項目級別的Visual Studio解決方案文件夾
- 2. 解決方案文件與Visual Studio中的項目文件
- 3. 獲取Visual Studio中的解決方案項目文件外接
- 4. Visual Studio解決方案和項目
- 5. Visual Studio解決方案/項目組織
- 6. 如何從Visual Studio解決方案/項目中讀取文件?
- 7. 如何使用解決方案文件夾在Visual Studio解決方案中按字母順序排序項目?
- 8. 無法在Visual Studio 2010中創建項目或解決方案
- 9. 在Visual Studio解決方案文件夾中打開Office文檔
- 10. 從Visual Studio的解決方案文件夾創建項目模板
- 11. 如何在Visual Studio 2012中重命名解決方案,解決方案文件夾,項目文件夾,包/過濾器文件夾和vcxproj文件
- 12. 什麼是在Visual Studio中的解決方案文件夾
- 13. Visual Studio 2010中的解決方案文件夾不會生成
- 14. 解決方案中的Visual Studio虛擬文件夾
- 15. 動態生成Visual Studio解決方案和項目文件
- 16. 等效於Visual-Studio項目(或解決方案)的Python
- 17. 獲取Visual Studio解決方案文件和文件夾
- 18. Visual Studio 2010 Professional解決方案/項目與Visual Studio 2010 Premium解決方案/項目100%兼容嗎?
- 19. 將解決方案文件夾添加到Visual Studio項目模板
- 20. Visual Studio宏以列出項目而不是解決方案文件夾
- 21. Visual Studio 2003解決方案到Visual Studio 2013解決方案
- 22. 合併Visual Studio解決方案文件
- 23. Visual Studio解決方案文件
- 24. 合併Visual Studio解決方案文件
- 25. Visual Studio解決方案:靜態或共享項目?
- 26. Visual Studio - 解決方案中的2個項目 - 工作目錄
- 27. 解決方案文件夾外部解決方案目錄
- 28. Visual Studio(MSBuild)是否從解決方案或項目目錄中解析?
- 29. 在Visual Studio解決方案文件中更新每個項目的Visual Studio項目配置
- 30. Visual Studio,將解決方案複製到構建文件夾
我喜歡盧博斯的真實感。 – ybakos 2012-05-18 15:31:59