2

我在公司中遇到了一個奇怪的解決方案結構 - 應用程序的不同層被組織在文件夾中(而不是在項目中)。爲什麼要將項目添加到解決方案而不是文件夾?

例如,在名爲「DAL」,「BL」,「WCFClient」的解決方案中有文件夾等。我從來沒有見過這種情況,但無法完全擺脫困擾我的麻煩關於它。

任何人都可以告訴我,如果有這種基於文件夾的組織方法的任何利弊(或可能專業人士)?

+1

項目包含編譯成彙編代碼。文件夾用於保持解決方案結構清晰。一個應用程序層不一定意味着一個項目。誰說DA,BL或服務層必須在一個單獨的程序集中實現? – Carsten 2014-09-04 17:25:28

回答

2

這裏有一些缺點和優點對於.NET項目:

優點:

缺點:

  • 代碼是不是模塊化的。你不能在其他項目中重新使用它的一部分。我認爲這是最大的缺點之一。例如,如果你想從程序集中使用一個類。您必須添加對整個項目的參考。
  • 一個項目可能會增長巨大並導致多個問題。從名稱衝突開始(在VB.NET中沒有爲文件夾自動創建名稱空間)到深層文件夾樹中。
  • 從龐大的項目搜索比從一個小硬(取決於foldering如何準確的)
+0

*「多個項目導致多個dll文件」* - 只有當您的目標輸出是一個DLL文件。 *「代碼不是模塊化的,你不能在其他項目中重新使用它的一部分」* - 你在什麼基礎上得出這個結論?項目是特定於Microsoft的構建功能。無需Visual Studio,開發人員就可以在C++中完美地實現模塊化。 – JBentley 2014-09-04 16:50:42

+1

但是,當文件位於文件夾中時,不會發生名稱衝突,因爲它們位於不同的名稱空間中,並且可以使用來自不同文件夾的文件夾中的文件:-)我在這裏丟失了什麼? :-) – 2014-09-04 16:54:27

+0

基於WCFClient文件夾我認爲這是.NET項目。它很好地注意到語言沒有被提及。 在這個模塊化評論我試圖說,如果你有一個組件(項目),你想使用該組件的一個類。您必須添加對整個項目的參考。 – Mino 2014-09-04 16:55:02

相關問題