2009-05-04 8 views
16

Czytałem o wzorzec ASP.net MVP w ten weekend i wydaje mi się, że nawet najbardziej proste zadanie wymaga zbyt wiele wysiłku, jeśli zrobisz to w MVP wzór wypłata wydaje się być w większym projekcie, ale myślę sobie, jeśli idę za MVP. Dlaczego po prostu nie wykonać projektu w ASP.net MVC?Czy projektant widoku ASP.net jest wart czasu?

Powodem, dla którego patrzę na wzór MVP, jest to, że zauważyłem we wszystkich moich projektach Webform ASP.net, że istnieje wiele kodu w kodzie za obsługą zdarzeń, jeśli mam dużo serwerów kontroli w formularzu internetowym, więc szukałem sposobu, aby to zmniejszyć i natknąć się na wzór MVP.

Czy warto dążyć do wzoru MVP lub po prostu przejść na ASP.net MVC?

+2

Krótka odpowiedź: tak, to warte wysiłku, ponieważ można uzyskać dużo kodu z opóźnieniem kodu pliku. Ułatwia to testowanie, utrzymanie zdolności, zdolności czytania i projektowania. –

+0

Większość zespołów i projektów (w tym moje) po prostu nie może usprawiedliwić kompletnego przepisania MVC lub "przełączenia" MVC do MVC. –

Odpowiedz

16

Jeśli zaczniesz nowy projekt, to ASP.net MVC to lepszy wybór. Ale jeśli chcesz tylko refaktoryzować istniejący projekt, tak jak powiedziałeś, to MVP jest opcją, ponieważ nie ma prostego sposobu na konwersję tych kodów formularzy internetowych na MVC.

+0

dlaczego ASP.NET MVC byłby lepszym wyborem? – cruizer

+1

Po pierwsze, MVC dostarcza wiele rusztowań z pudełka, od którego zacząć. Ułatwia to rutowanie, rusztowanie, testowanie i tak dalej. – aleemb

+0

@ aleemb, z drugiej strony "tradycyjne" webformy asp.net oferują bogaty zestaw narzędzi do wielokrotnego użycia i wbudowanego interfejsu użytkownika innej firmy, w odróżnieniu od MVC asp.net, gdzie można kontrolować wszystko, co dzieje się w górę/w dół, do drutu, ale będzie musiał napisać znacznie więcej html w porównaniu do webformów. zawsze jest najlepsze narzędzie do pracy, a mvc nie zawsze jest najlepszym wyborem. – Jack0fshad0ws

2

Moim osobistym zdaniem jest to, że jeśli w kodzie jest dużo kodu, nadal istnieją inne sposoby niż przyjmowanie M-V-P w celu odchudzenia, refaktoryzacji i umożliwienia testowania.

jeśli twoja strona ma rozległą interakcję z użytkownikiem (jak włączanie/wyłączanie przycisków/wyłączanie, panele i kontrolki pojawiające się/znikające) M-V-P byłoby warte kłopotów.

3

Moim zdaniem idealnym sposobem na zastosowanie nowych aplikacji jest MVC. Jeśli jednak masz dużo kodu już korzystającego z WebForms, to wzór MVP jest do zrobienia.

+0

dlaczego byłby idealny? – cruizer

+1

Program ASP.NET MVC zapewnia większą kontrolę nad kodem HTML, dzięki czemu jego kod jest bardziej testowalny. Pozwala to na stosowanie najlepszych praktyk, takich jak "rozdzielanie spraw". – ichiban

19

Polecam czytanie dwóch następujących linków, aby dostać się do prędkości na MVP i MVC:

należy przełączyć się skończy?
Na podstawie tego, co mi powiedziałem, zaleciłbym stosowanie pasywnego modelu MVP wymienionego w powyższym artykule.

Moje główne założenia to:

  1. Twój czynienia z istniejącym kodzie z WebForms aplikacje
  2. Trzeba użyć kontroli ThirdParty NET istniejącej funkcjonalności
  3. twojej pracy na istniejących aplikacji i nie zrobić Mają czas na ich ponowne zaprojektowanie.
  4. Dowolna ASP.Web Apps netto pracować na w przyszłości, można stopniowo zastosowanie pasywnego MVP i czerpać korzyści z TDD razu

Państwa zdanie (kodzie + aspx) zasadniczo stać głupie i po prostu wykonywać proste zadania:

  • brać informacje podane przez prezentera
  • reaguje na zdarzenia i dostarcza informacje do prezentera

używałem tego modelu w znacznym stopniu do rozwoju Web Forms i Nie mogłem sobie wyobrazić, że nie będę w stanie przetestować mojego modelu i kodu prezentera. Po ustanowieniu modelu podstawowego, który nie zajmuje zbyt wiele czasu i nie zobaczysz możliwości testowania jednostek, praca z Web Forms staje się przyjemna.

kilka linków do MVP rzeczy, że model Użyłem opiera się na:

Chciałbym również polecić, aby dowiedzieć się MVC do.
Gdy czas na to pozwala, weź istniejącą aplikację i przenieś ją do MVC. W ten sposób jedynym celem jest poznanie MVC, a kiedy przenosisz logikę do wzorca MVC, odkryjesz rzeczy, które zaimplementowałeś w WebForms i nigdy nie zastanawiałeś się nad nimi, ale teraz musisz rozwiązać je w inny sposób. Świetny sposób, aby porównać wzorce i zobaczyć, co działa dla Ciebie.

Mam nadzieję, że to pomoże, zadaj dowolne pytania.

Powiązane problemy