2009-07-30 19 views

Odpowiedz

0

Czasami ludzie się zbytnio odwieszają na inicjałach i czasami TLA.

Jeśli to, co Phil Haack mówi w swoim artykule, jest prawdą, myślałem, że używam MVC w ASP.NET MVC, ale to, czego tak naprawdę używam, to MVP (lub ulepszona forma MVC).

z MVC, to zawsze kontrolera odpowiedzialność do obsługi myszy i klawiatury zdarzenia. W przypadku MVP, komponenty GUI same początkowo obsługują wejście użytkownika , ale przekazują interpretację tego wejścia do prezentera prezenterowi .

Ale to nie jest tak naprawdę ASP.NET MVC.

Jeśli obsługuję zdarzenia myszy i klawiatury, to lubię to robić w przeglądarce za pomocą jQuery. To oddziela interakcję użytkownika od kontrolera i zapewnia lepsze oddzielenie pomiędzy warstwą interfejsu użytkownika i warstwą "biznesową".

Jeśli potrzebuję zaktualizować część mojej strony za pomocą połączenia AJAX lub połączenia JSON, nadal będę musiał to zrobić, czy to nazywam MVC czy MVP.

ASP.NET WebForms np próbuje naśladować bogaty klient paradygmat rozwoju poprzez wykorzystanie ViewState. Z tego powodu wiele prób, aby zastosować ASP.NET do wzorców ASP.NET, skupia się na wzorze MVP, ponieważ wzorzec MVP jest bardziej odpowiedni dla bogatej aplikacji klienckiej z komponentami GUI .

Jednak wielu platform internetowych objąć bezstanowy charakter sieci i zrezygnować próbuje symulować state-pełny rozwój bogaty klient środowisku. W takich systemach poprawiony wzór MVC jest bardziej odpowiedni dla .

Jest oczywiste, że poglądy Phil (a Tweaked forma) MVC jak przenieść się do bardziej bezpaństwowcem cieńszej klienta, natomiast MVP miejsc więcej odpowiedzialności na warstwie UI zapewniając bogate doświadczenie użytkownika.

To, czy jest to dobre, czy nie, jest subiektywne. Jeśli ASP.NET to MVP, a ASP.NET MVC to MVC, chętnie przyjmę inicjały MVC, aby zrezygnować z rzeczy takich jak stan widoku i logika rozwarta.

+0

Co jeśli cały powód, dla którego próbujesz zdecydować, to chcesz użyć warstwy biznesowej dla wersji internetowej i grubej wersji klienta ;-) aaak – FastAl