2008-11-07 10 views
17

Jakie są przydatne rzeczy, które programiści ASP.NET MVC mogliby zasugerować, aby pomóc programistom ASP.NET WebForms w pisaniu lepszych aplikacji kodu/sieci?Wskazówki od ASP.NET MVC i lekcje dla programistów ASP.NET WebForms

Jestem facetem WebForms, ale z całym nowym szumem wokół MVC cenię sobie kilka komentarzy na temat pomocnych wskazówek, sztuczek i strategii, które mogą być przydatne w aplikacjach internetowych.

Odpowiedz

16

Coś, co przyszło mi do głowy jakiś czas temu, gdy dowiedziałem się o nowej strukturze MVC, jest to, że WebForms był, jak sądzę, próbą MVC na wiele sposobów. Znaczniki i kody z tyłu zawierają widok i kontroler, a ty możesz napisać własny model.

Pomysł ten idzie w parze z ważnymi względami projektowymi, które zdobyłem, ucząc się o MVC. Najważniejszym z nich jest utrwalenie podstawowej domeny twojego systemu jako całości i upewnienie się, że cała wspólna logika jest zdefiniowana na poziomie możliwym do ponownego użycia w tej domenie. To jest twój model i lubię nazywać logikę, która żyje na tym poziomie Domain Logic (ja łączę warunki, wiem). Twój Model powinien być wielokrotnego użytku w różnych aplikacjach (główna aplikacja web/winforms, aplikacje WinForm do narzędzi i konfiguracji, usługi przetwarzania w tle, usługi sieciowe itp.). Twoje aplikacje powinny pozostać bardzo specyficzne dla ich celu: składają się z logiki prezentacji (ich widoki) i logiki aplikacji (ich kontrolerów). Wszystko, co przekracza granicę wymagającą użycia w innych aplikacjach, można łatwo zaklasyfikować jako Domain Logic i nie powinno być częścią kodu aplikacji dla danej aplikacji.

Mam nadzieję, że ma to sens.

Najważniejsze jest to, że nawet jeśli nie korzystasz z czystego szkieletu MVC lub modelu obiektowego, ten wysoki poziom wyglądu można zastosować z doskonałym skutkiem. Wyizoluj wspólną logikę w warstwie domeny, która może być wielokrotnie używana w różnych aplikacjach, a aplikacje są znacznie łatwiejsze do napisania i rozszerzenia.

0

Jestem również pochodzące z webforms, ale zostały nauki ASP.NET MVC od około podglądu 3.

Nie jestem dokładnie pewien, jak wnieść coś z MVC w webforms, są dwie zupełnie różne ramy . Prawdopodobnie jestem za bardzo na to przygotowany, aby zrozumieć, jak można go zastosować do formularzy internetowych, ale teraz wydaje się, że mają niewiele wspólnego.

Jedną z mocnych stron MVC jest jej sztywna struktura określająca, w jaki sposób należy wykonywać różne czynności i gdzie umieszcza się kod. Znika również z postaci runat = server i uważam, że nie promuje użycia jakichkolwiek kontrolek serwera asp.net (musisz napisać cały HTML sam). Taka jest definicja webformów właśnie tutaj. MVC prawie całkowicie zastępuje webformy własną strukturą.

Jeśli kiedykolwiek tworzyłeś klasyczną ASP lub PHP, nazwałbym ASP.net MVC bardziej zorganizowaną strukturą dla tego, co ludzie mogą zrobić z tymi starszymi językami skryptowymi. To trochę jak framework FuseBox, ale jeszcze bardziej uporządkowany i ewoluowany.

2

Polecam geting rozpoczął obserwując screencasts na Learn stronie Microsoftu:

ASP.NET MVC Videos

Nie Poznasz różnice pomiędzy modelem WebForms ogłaszania, jak i sposób, że MVC bezpośrednio trasy adresów URL do działań & Metody.

Drugą ważną różnicą jest pamiętanie, że w ASP.NET MVC nie używa się kontrolek, które powodują zwroty. Może to wyglądać bardziej jak klasyczna ASP, gdzie kod jest wstawiany na stronie w blokach po stronie serwera, ale warto. Będziesz mieć pełną kontrolę nad generowanym HTML, a to jest bardzo dobre dla takich rzeczy jak Optymalizacja pod kątem wyszukiwarek.

4
  1. Zapomnij o stronie cyklu
  2. Nie ma ViewState (domyślnie to jest)
  3. Brak postbacks
  4. musisz znać podstawy protokołu HTTP (GET/POST). To samo z HTML (DropDownList jest właściwie tag)
1

kilka rad

  1. Nie używać standardowych kontroli. Zamiast tego zwracaj uwagę na jQuery, MooTools.
  2. Użyj silnie wpisane modele
  3. Jest to dobra praktyka, aby korzystać z niektórych IoC jak Spring.NET