2008-08-04 224 views

回答

17

默認情況下,總是一樣的項目

  • ,你會得到一個組件(無需額外的ILMerge體操)
  • 更容易混淆(因爲你將有較少的公共類型中創建新的文件夾和方法,最好是沒有)

分離你的源代碼,分爲多個項目也只意義,如果你...

  • 有是該項目的一部分,但不是默認或全部(單元測試,額外的插件等)參與
  • 更多的開發部署的源代碼的一部分,並要善待自己爲消耗黑工框。 (不是很推薦)
  • 如果你可以清楚地分開你的項目進入隔離層/模塊,並且你要確保他們不能跨消耗內部成員。(也不推薦,因爲您需要決定哪個方面是最重要的)

如果您認爲源代碼的某些部分可以重複使用,仍然不要將其創建爲新項目。等到你真的想在另一個解決方案中重用它並根據需要將它與原始項目隔離開來。編程不是樂高,重複使用通常非常困難,往往不會按計劃進行。

+0

我喜歡盧博斯的真實感。 – ybakos 2012-05-18 15:31:59

4

我通常爲GUI做一個項目,用於業務邏輯的項目是數據訪問項目和單元測試項目。

但有時需對在服務基礎(如果你使用的是面向服務的架構)的分離,如認證,銷售等

我想經驗,我過的是,工作規則如果你可以把它看作是一個明確區分的組成部分,那麼不同的項目可能是謹慎的。但我認爲文件夾和項目可能只是一種偏好或哲學。

我個人覺得如果可重用的代碼被拆分成項目,使用其他地方比在文件夾中更簡單。

6

丹尼寫道:

我個人覺得,如果可重用的代碼被分成項目,它更容易使用比其他地方,如果它僅僅是在文件夾中。

我真的同意這一點 - 如果你可以重用它,它應該在一個單獨的項目。隨着中說,它也很難有效地重用:)

這裏在SO,我們一直在努力,是非常簡單的三個項目:

  • MVC的Web項目(不分離的一個很好的工作圖層成默認文件夾),爲我們的DB的源代碼控制對MVC模型
  • 單元測試
  • 數據庫項目/控制器

我不能爲大家說話,但我很高興w ^我們保持它的多麼簡單 - 真正加快了構建速度!

0

分離你的源代碼到 多個項目也只意義,如果你 ... ...更多開發商參與 和你要正確對待他們的工作 消耗的黑盒子。 (不是很推薦的 )...

爲什麼不推薦這麼做?我發現它是一個非常有用的方式來管理一個應用程序與幾個開發人員在不同部分工作。主要通過消除合併,使簽入更容易。兩個開發人員很少必須同時在同一個項目上工作。

+0

這只是推薦的代碼足夠穩定,以便明確責任和接口,以確定項目。 – reinierpost 2010-06-11 14:12:25

8

分離功能集成到項目往往是YAGNI結構優化。你真的多久重複使用這些獨立的項目?如果不是經常發生,則會使您的開發,構建,部署和維護複雜化以實現理論重用。

我更喜歡分成文件夾(使用適當的命名空間)和重構,當你有一個現實生活中的重用用例分離項目。

+0

當我更換「理論再利用」與「測試」,不你的結論仍持有? – reinierpost 2010-06-11 14:06:12

0

如果你去創建了幾個項目,確保每個人都誰添加代碼,以解決辦法是充分意識到他們的意圖,並盡你所能,讓他們瞭解項目之間的依賴關係。如果你曾經試圖理清混亂,當有人已經並補充說,不應該一直存在引用,掠走了好幾個星期,你就會明白這一點

0

我真的覺得這是更好地拆分項目這一切都取決於項目的規模和人員的數量。

對於較大的項目,我有

  • 數據訪問的項目(型號)
  • 服務
  • 前端
  • 測試

我得到的模型由羅布·康納利和他的店面應用......似乎工作得很好。

mvc-storefront

相關問題