2009-08-26 19 views
5

Ciekawi mnie architektura w ASP.NET MVC. Jak powinienem pobierać dane z bazy danych? Filmy i samouczki programu ASP.NET pokazują, że wszystkie dane powinny być obsługiwane w modelach, więc pomyślałem, że to jest droga. Zacząłem od nowej pracy i tutaj wolą otrzymywać dane w kontrolerach.Architektura ASP.NET MVC

Jaki jest najbardziej prawidłowy sposób postępowania? Wiem, że to może prowadzić do długiej odpowiedzi, więc jeśli znasz jakieś strony, artykuły, blogi lub cokolwiek i temat, możesz po prostu napisać:

Z góry dziękuję.

Odpowiedz

3

Ogólnie rzecz biorąc, chcesz zachować możliwie najmniejsze odstępy od logiki i kontrolerów, nie robiąc nic więcej niż po odebraniu połączenia, przekazując je do odpowiedniej logiki biznesowej, odzyskując model i przekazując go do widoku. Więc nie SQL lub coś podobnego w kontrolerze. Byłoby to analogiczne do umieszczania całego kodu w page_load w formularzach internetowych, co w dłuższej perspektywie jest niezrównoważone. Zadaniem kontrolerów jest obsłużenie żądania adresu URL. Nic więcej.

Zapoznaj się z MVC in Action, aby uzyskać wiele szczegółowych informacji. Lub pierwszy rozdział Professional ASP.NET MVC 1.0 dostępny za darmo here. Zabiera cię z pliku-> nowego przez stworzenie aplikacji pokazującej prosty sposób na uzyskanie dostępu do danych poza kontrolerem.

Chociaż bardziej złożone, jeśli chcesz sprawdzić niektóre odwołania architektury sprawdź S#arp arhictecture project lub the onion architecture i code camp server. Stanowią one kompletną architekturę dla aplikacji MVC, koncentrując się na oddzieleniu problemów, projektowaniu opartym na domenie i testowaniu jednostkowym. Może to zająć trochę czasu, grokując wszystko, ale gdy już to zrobisz, zapewniają one bardzo jasny sposób na uporządkowanie rzeczy i pracę nad rzeczami spójnie z grupą programistów.

+0

Świetna odpowiedź! Dziękuję bardzo. – Poku