天天看點

從項目經理的角度看.net的MVC中Razor文法真的很垃圾.

我們知道,Razor文法中我們可以直接使用@if(){}等代碼段,這使得.net程式員在寫模版時更容易了.

對比如下:

文法名稱 Razor 文法 Web Forms 等效文法
代碼塊(服務端) @{ int x = 123; string y = "test."; } <% int x = 123; string y = "test."; %>
表達式

encode:<p>@model.Message</p>

no encode:<p> @Html.Raw(model.Message) </p>

encode:<p><%:model.Message %></p>

no encode:<p><%= model.Message %></p>

結合文本和标記的循環

@foreach(var item in items) 

  <p>@item.Prop</p> 

}

<% foreach(var item in items)

 { %> 

  <p><%:item.Prop %></p>

 <% } %>

代碼和文本混合

@if (foo) { <text>Plain Text</text> }

@if (foo) { @:Plain Text is @bar }

<% if (foo) { %> Plain Text <% } %>
伺服器端注釋 @* This is a server side multiline comment  *@ <%-- This is a server side multiline comment --%>
調用一個方法

@(MyClass.MyMethod<AType>())

使用括号來明确表達是什麼.

混合表達式和文本 Hello @title. @name. Hello <%: title %>. <%: name %>.

總結:從程式員的角度去看Razor文法看上去比aspx更簡潔一些.

但是從一個前端的角度去看呢?

Razor文法完全看不懂,這他媽的是個毛啊!改哪呢?!而ASPX文法哪能改,哪不能改,一看就懂.

前端的工作在模版中占90%以上.而後端隻占不到10%.

MVC的核心點在于前端和後端的分離,說白了,一件事分成兩個人做.

如果你懂壓力測試,可以試試最新的MVC5.WEBFORM每秒請求達到1500左右, 而MVC5最高隻有200,MVC現階段隻适合做中小企業開發,要走的路還很長. 作為一個項目經理,一般都是自已實作MVC, 因為對我來說寫一個MVC架子并不難,隻要重寫httpFactory和httphandler就可以了.     

轉載于:https://www.cnblogs.com/LucasDot/p/4461993.html