N層ASP.NET應用程序:爲我的所有圖層或每個圖層的一個類庫提供一個類庫?N層ASP.NET應用程序:每個圖層的一個類庫或每個圖層的一個類庫?
回答
如果您的項目足夠小,每個圖層只有一個圖庫足夠,那麼我會採用這種方法。這有助於保持明確的問題分離。
單獨的DLL不會在我的經驗中不利地影響性能。在某些情況下,它可以幫助性能(例如延遲加載很少使用的組件)。所有的DLL都被加載到相同的地址空間,所以就運行時而言,一個或多個DLL幾乎沒有任何區別。
應該編寫每個圖層,就像多個前端將要使用它一樣。這將進一步幫助保持分離,並鼓勵更正確和更容易維護的代碼。
我不明白這一個評論「你的問題一定不是」不言自明「。:-)」:D ..但你的意見和答案說得很清楚..謝謝你(Y) – lKashef 2011-03-04 01:21:30
我會去爲每個圖層的類庫。這樣你可以在其他項目中重用你的庫。另外這會給你更多的靈活性...
,但除了庫越來越迫使應用程序要經過不同的DLLS這會影響我的應用程序的性能與否? – lKashef 2011-03-03 20:33:14
@lKashef - 你的問題一定不是「不言自明」。 :-) – 2011-03-03 20:37:30
@lKashef我不認爲有很多DLL會影響你的應用程序的性能。 – 2011-03-03 20:38:11
爲什麼不能同時使用,一個共同的類庫全球所有的東西,一個類庫每個項目的項目具體的事情
當然,我們需要知道更多關於您的特定情況更加準確,遺憾的是沒有一種情況適用所有解決方案
@K Ivanov。這是一種CMS,因此非常簡單,我從後端添加內容並在前端顯示它們,我讓訪問者添加項目並驗證它們,然後將它們添加到數據庫中。當然從後端你可以看到管理員的所有網站的內容(編輯,刪除和搜索) – lKashef 2011-03-03 20:35:27
有許多pasterns可以使用,都有其優點和缺點,最好做一些閱讀和選擇一些簡單的和消耗殆盡,這裏有一些參考http://en.wikipedia.org/wiki/Multitier_architecture – 2011-03-03 20:39:29
我更喜歡每個圖層的一個類庫。它提供了圖書館之間良好的組織和層次。例如,UI層從不知道數據訪問層,並且因爲它沒有對數據訪問層的引用而無法知道。
但是,有時層被放置在相同的類庫中以縮短編譯時間。如果你沒有這樣的開銷,總是選擇分開的。
@Ahmed。對不起,您是否想說如果我的網站上有很多流量,那麼單獨的圖層會導致更長的編譯時間,從而導致性能問題! – lKashef 2011-03-03 20:38:31
@lKashef - 程序不是爲每個用戶單獨編譯的。 IIS將維護該應用程序的編譯版本,直到它被停用或代碼被修改。這與您擁有的流量無關。另外,單獨的DLL可以縮短編譯時間,因爲只有需要更改的項目才需要重新編譯。打破兩個輸出二進制文件的解決方案可能會將編譯時間縮短一半。 – 2011-03-03 20:46:53
- 1. 確定一個n層應用程序中的層數
- 2. 查找每個Docker鏡像的圖層和圖層大小
- 3. ASP.NET MVC3服務層 - 每個服務的多個存儲庫?
- 4. 在一個層的浮動圖像,在另一個內部層
- 5. 選擇頂層的每一個國家
- 6. 業務層中的多個類庫,還是一個?
- 7. 設計一個每層都是插件組件的n層架構應用程序是否正確?
- 8. 一個圖層的多個DLL
- 9. 兩個html對象,一個遊戲圖層和一個gui圖層。好壞?
- 10. 如何將一個圖層上的一條線的ToPoint和FromPoint添加到另一個圖層/要素類
- 11. 必應地圖v8 AJAX:隱藏一層每個javascript
- 12. 製作一個現有的C#應用程序n層
- 13. Caffe中的一個圖層中的圖層
- 14. 實體框架:每個類型和表混合表每一個分層
- 15. 流利的NHibernate分層數據問題(每個層次一個表)
- 16. 用php打印數組的第一個或前幾個「圖層」?
- 17. CSS圖層 - 我不能在另一個圖層上獲得一個元素
- 18. 如何將一個子圖層居中在另一個圖層上?
- 19. Postgresql - 每個用戶一個數據庫或每個用戶一個數據庫
- 20. 我有一個分爲多層的asp.net mvc應用程序。
- 21. 如何在一個分層的類
- 22. 服務層:每個應用程序或每個View模型有1個實例? (或者:給每個視圖模型自己的數據上下文)
- 23. 如何在N層圖層應用程序中實現IDependencyResolver?
- 24. Gimp:在一個圖像中移動一個圖層的位置
- 25. 將圖層添加到另一個圖層
- 26. 在NHibernate中加入到每個類層次結構的子類
- 27. 在ASP.NET中創建一個n層網站的正確過程
- 28. 有沒有辦法使用python將一個過濾器從一個圖層複製到另一個圖層
- 29. OBJ-C - 從一個類層次結構得到一個類名
- 30. 休眠時每個子類和每個層次結構的混合表
@IKashef做這個問題,適用於企業級Web應用程序,如www.bantamlive.com – 2011-03-04 16:24:02