Dot-Net

一個組件內的分層架構

  • March 7, 2014

我更喜歡將我的 3 層 .NET 應用程序分離到單獨的項目中,以增強模組化和關注點分離,但我的電腦上存在性能問題(記憶體和處理能力不足),因此 Visual Studio 執行緩慢且不適合在那里工作一個解決方案中有許多項目,所以我雖然將所有層放在一個程序集中,但仍然使用程式碼並設計它,就好像每種類型都在其各自的層中一樣。我想知道一件事,如果你們中的任何人嘗試過這樣做,您有什麼建議或不建議或對此有任何想法嗎?

我不是在尋找討論,我只是想知道這樣做是否有任何嚴重的風險?

分層在 .NET 和其他強類型平台中有益的原因之一是您不能(輕鬆)在項目/庫之間添加循環引用。這確保了,至少在包級別,依賴項將形成有向無環圖(DAG)。這是一件好事,因為它迫使我們減少耦合

在**C#**中,完全可以編譯形成循環圖的程式碼(ClassA引用ClassB,引用ClassC,然後引用ClassA)。因此,將所有程式碼放入單個 Visual Studio C# 項目會消除分層提供的一些編譯時保護。

**但是,如果您改為在F#**中編寫整個項目,您將重新獲得編譯時保護,因為如果 F# 程式碼包含循環,則無法編譯(儘管可以模組中聲明該規則的特定例外…參見關於相互遞歸類型的部分)。

所以,如果用 C# 編寫整個應用程序,你很可能會遇到問題,但如果你用 F# 編寫它,你應該會很好。

引用自:https://stackoverflow.com/questions/16473139