webForumDet fria alternativet

Fördelar med MVC

.NET

14 svar · 1 384 visningar · startad av Bjuris

Medlem sedan juli 2001514 inlägg
Frågan#1

Helt enkelt.

Fördelar kontra nackdelar med MS ASP.NET MVC?

Själv är jag lite sugen på att applicera "mönstret" på ett nytt projekt men hur får jag min arbetsgivare att komma på samma spår?

Medlem sedan aug. 20003 575 inlägg
#2

MS ASP.NET MVC är mer än ett mönster.

MVC i sig är ett designmönster men MS har byggt en teknik som bygger mycket på mvc som du får arbeta i. Mycket trevligt faktiskt, dock så har dom inte släppt det skarpt än.

Medlem sedan juli 2001514 inlägg
#3

därav ordet mönster inom fnuttar.

gick det inte skarpt med sp1 för 3.5?

Medlem sedan dec. 19996 522 inlägg
#4

Nej är inne i preview 5, ScottGu's skriver mycket med det.

http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx

Fördelen är väll att MVC är att föredra vid webbapplikationer till skillnad från MVP som kanske bäst passar sig till traditionella klientapplikationer.

Medlem sedan dec. 19996 522 inlägg
#5

Du får väll din arbetsgivare att se fördelarna genom att förklara att ett gränssnitt med separerad logik och presentation, möjlighet att kunna unit-testa gränssnitt i en hög utsträckning (Ska ni inte göra det ser jag inte någon direkt övertalbar nytta med att hoppa till ett MVC / MVP-ramverk).

Medlem sedan juli 2001514 inlägg
#6

Men som jag förstår det så blir det mer kod med MVC--> längre tid att utveckla. dvs ett ganska stort argument att inte köra MVC.

Medlem sedan dec. 19996 522 inlägg
#7

Ja fulhack går ju alltid fortare initialt, problemen kommer när det ska vidareutvecklas och växa över tid. Men du kan ju försöka unittesta ett gränssnitt utan någon form av MVP/MVC. Att det tar längre tid initialt är bland det sämsta argument man kan dra i mitt tycke. Men som jag skrev ovan, ska du inte testa ditt gränssnitt och inte bryr dig mycket om din arkitektur så strunta i MVC

Medlem sedan feb. 20041 816 inlägg
#8

Har ASP.NET MVC samma dumma Javascript-beroende som vanliga ASP.NET har? Jag önskar att det gick att komma ifrån det i ASP.NET men det verkar inte så. Inte på ett enkelt eller beprövat sätt i varje fall.

Medlem sedan dec. 19996 522 inlägg
#9

Vad menar du med "samma dumma Javascript-beroende som vanliga ASP.NET", MVC skippas med jQuery.

Medlem sedan feb. 20041 816 inlägg
#10

Jag tänkte på postbacks. Tycker att det är rätt dåligt att de inte funkar om det av någon anledning inte finns stöd för JS hos klienterna.

Kikade en snabbis på länken som jag lyckades missa förut, och det ser ju ut som att det korrigerat en del knasiga val från ASP.NET. Sjyst att de bakar in jQuery också. Bra, bra. :D

Medlem sedan aug. 20003 575 inlägg
#11

Nej postback's stödjs ej.

Och ASP.NET MVC är grymt bra, jag hade valt asp.net mvc i de flesta webbapplikationer jag skulle gjort idag även om det bara är i RC1 stadie.

http://www.pnpguidance.net/Post/UnityIoCDependencyInjectionASPNETMVCFrameworkScreencast.aspx

Man måste ju älska de sista 10 minutrarna i denna screencasten.

Medlem sedan dec. 19996 522 inlägg
#12

Ordnar de bara till alla jvla magic-strings överallt så kanske det kan bli något efter RC1. Tycker Jeremy Miller och company har en bra ståndpunkt gällandes ASP.NET MVC:n, http://codebetter.com/blogs/jeremy.miller/archive/2008/10/23/our-opinions-on-the-asp-net-mvc-introducing-the-thunderdome-principle.aspx

Medlem sedan jan. 20022 440 inlägg
#13

Personligen föredrar jag MVC 8 ggr av 10ggr. Anledningen? Det är så himla mycket enklare både från design perspektiv och att utveckla mot en eventuell domän modell. Du kan helt enkelt låta modellen arbeta åt dig på ett mycket "snyggare" sätt än med asp.net's server kontroller. Visst stör jag mig en del på den där jävla mix-mash koden det blir med alla <% och %> men det kan jag leva med. Nu är det mycket lättare att stajla sidorna och i och med RC1 så slipper vi dom onödiga code-behind filerna till vyerna samt en del genvägar för att skapa controllers och vyer. Visst finns det en del att önska fortfarande men på det stora hela är jag extremt nöjd!

Medlem sedan feb. 20041 816 inlägg
#14

Alla <% (kallas de för context switch fortfarande?) är ju galet fult! Varför finns det inget vylager som låter designfolk pilla med sin HTML och sedan bara plugga in den när det är klart? En designer kommer ju garanterat att ha sönder en sån där sida på ett eller annat sätt. </klagomål>

Medlem sedan dec. 19995 874 inlägg
#15

Fördelar
- prestanda (många gånger snabbare än traditionella asp.net. Microsoft insåg äntligen vilka prestandaproblem det är med postbacks, viewstate och alla userkontroller som käkar minne.
- testbarhet
- mindre html (ingen viewstate, inga ctl100_ctl100_ctl100_content_hyperlink som ids)
- validerande kod (du skriver all kod själv)
- krav på flera lager (model, view, controller), duh!
- enkelheten med ajax / javascript (jquery)

Nackdelar
- Inte så mycket färdiga kontroller
- Valideringshanteringen
- magic-strings (de jobbar dock på detta)
- inga events
- ViewData.Model med en propertybag för att skicka datan känns märkligt. Speciellt när man skall felhantera och skicka flera olika datamodeller till samma sida.

Angående prestanda så gjorde jag ett test där jag la in ett länkar och några literals. Sedan gjorde jag samma sak i mvc och då fick jag följande resultat.

0,0515222605107632 tid i skunder för att exekvera sidan
17421 bytes (html)
316 requests/sec (max när jag stresstestade endast den sidan på min dator)

MVC:

0,000413181004848382 tid i skunder för att exekvera sidan
4534 bytes (html)
629 requests/sec (max när jag stresstestade endast den sidan på min dator)
251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)