簡體   English   中英

ASP.NET MVC和數據密集型應用程序

[英]ASP.NET MVC and data heavy applications

我已經學習ASP.NET MVC大約一個月了,我當然可以從中受益,但是我意識到它並不適用於所有情況。

我已經在多個地方讀到ASP.NET MVC對於數據密集型應用程序不是理想的選擇:

  • 例1 :“數據驅動的應用程序-如果應用程序數據量很大,使用WebForms可以使生活更加輕松”
  • 示例2 :Nick Berardi的書建議您在應用程序“數據繁重”的情況下支持Web表單

有人可以澄清為什么ASP.NET MVC不適合於數據密集型應用程序,以及Web表單為什么更合適嗎? 另外,在繁重的數據應用程序與其他應用程序之間划界線的地方是什么? 我們在談論數據量(數百萬條記錄)還是在談論大型數據模型?

我也確實希望澄清這一點,因為我發現完全相反的事實,並且我認為stackoverflow.com證明了MVC適用於數據驅動的應用程序。

我並沒有花太多時間去閱讀第二個鏈接,但是第一個鏈接中的斷言是不合格的,其中許多斷言對我來說似乎是錯誤的。 但是,WebForms所陳述的弱點足以使我免於將其用於數據密集型應用程序:

  • UI邏輯與代碼耦合,因此很難分開。
  • 難以進行單元測試,因此難以使用TDD。
  • 頁面大,歸因於視圖狀態管理。

MVC所說的缺點非常脆弱:

  • 由於不是事件驅動的,所以對於僅了解Asp.Net Webforms的人來說,可能很難全神貫注於此。
  • 第三方控制庫的支持並不強大。
  • 沒有ViewState(這也是一種優勢)。

第一個可以看作是負號。 第二個是錯誤的,因為MVC應用程序可以根據需要利用傳統的服務器端控件,並利用客戶端控件和庫的豐富庫。 第三,嗯,我認為我什至不需要和那個說話。

在互聯網上閱讀此類文章時,您必須保持警惕-它們聽起來權威且全面,但是其中的肉在哪里? 為什么陳述的弱點是一個問題? 僅僅把觀點當作事實是不夠的。 他們應使用指標進行備份,例如當使用y平台x時,不熟悉任一平台的開發人員能夠以30%的速度完成應用程序,或者平台x的代碼行減少25%或間接層更少,管他呢。

RAD是一個加號的想法是另一個需要仔細檢查的想法:RAD很快,直到您想要執行某項特定於特定控件的操作,然后碰到一堵牆。 這是一個泄漏性的抽象 ,當它失敗時,您會突然面對理解給定控件的設計框架和代碼的全部復雜性。 這可能是一個很大的挫折,並且這些控件的源代碼並不總是可用。

對我來說沒有多大意義。 如果您擁有許多不同類型的數據,他們可能會猜測創建多個模型的困難,或者可能是在MVC中創建Web表單的相對困難。

但是,ORM(例如L2Sql,EF和Subsonic), 模型聯編程序和表單生成器(我現在找不到鏈接)幾乎可以用這些參數。

坦白說,我不買。

我相信這些作者正在談論將數據控件拖放到頁面上的能力,例如GridViews,FormViews和其他數據綁定對象。

假設您有一個IT部門的數據庫,其中有一個計算機表,一個打印機表,一個軟件表等。此UI是一個非常簡單的數據管理系統,本質上是一種美化的MS Access。

您無需編寫帶有精美HTML和類庫的優雅Web應用程序,只需將數據源和控件拖到Visual Studio中的頁面上,即可創建快速/骯臟的WebForms應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM