2009-07-29 13 views
5

Wkrótce zaprojektuję kilka aplikacji internetowych. Prawdopodobnie zostaną wykonane w asp.net mvc.Czy aplikacje sieciowe mvc powinny być 3-te?

W moich istniejących aplikacjach internetowych, wykonanych w delphi, warstwa dostępu do danych jest oddzielona do całkowicie oddzielnej aplikacji, czasami działającej na innym serwerze. Jest to bardziej przydatne w przypadku ponownego użycia kodu niż w przypadku procedur architektonicznych. Nie będzie to miało wpływu na kolejną aplikację, ponieważ będzie to nowe.

Czy w aplikacji mvc ma miejsce osobna przesadna aplikacja dostępu do danych? Będę już oddzielał klasy biznesowe na podstawie używania MVC, a ja będę używał ORM do wykonania perswazji db.

Edytuj: Wystarczy, aby wyjaśnić; Używam określenia "tier" w odniesieniu do oddzielnych aplikacji fizycznych, czegoś więcej niż tylko logicznej separacji lub warstwy.

+2

Jeśli oddzielisz klasy biznesowe i DB dla persytancji, masz już co najmniej 3 poziomy. GUI/Logic/DB - to 3 poziomy, więc nie uzyskasz n <3. Wprowadź dodatkową warstwę, jeśli potrzebujesz więcej modularyzacji - ale to całkowicie zależy od twojej aplikacji. –

Odpowiedz

6

Określenie „Poziomw moim doświadczeniu generalnie odnosi się do fizycznych seperations aplikacyjnych np Klient Poziom & Poziom serwera.

MVC - odnosi się do 3 "Warstwy" Z problemem jest oddzielenie około 3 obawy, że szczegóły modelu (Dane), Widok (UI), kontroler (App Logic).

Teraz zrobiłem to rozróżnienie dotyczące moim terminologii ..

jest posiadanie odrębnego dostępu do danych aplikacji overkill w mvc app?

powiedziałbym nr (ponownie w zależności co masz na myśli przez aplikację), nie jest przesadą, gdyż może w wyniku rzeczywistej rzeczywistości w systemie bardziej zarządzalny. Twoje ORM może prawdopodobnie umożliwić nowe opcje dostępu do danych, które mają być podłączone, ale co jeśli chcesz dodać nową ORM? Posiadanie wyraźnie oddzielonej warstwy dostępu do danych (DAL) pozwoli na znacznie większą elastyczność w przyszłości w tym aspekcie aplikacji.

Z drugiej strony, w zależności od skali i wizji aplikacji tworzenie całkowicie niezależnej opcji dostępu do danych może być przesadzone, ale w pigułce oddzielenie DAL na różne złożenia jest bardzo zalecaną praktyką w kompozycji. aplikacji realizującej wzorzec MVC.

Mam nadzieję, że to pomoże, jeśli potrzebujesz więcej głębi, skomentuj.

0

Wielki komentarz Tobias.

Mówię o dodaniu wystarczającej liczby warstw, aby miało to sens i ułatwiło utrzymanie. Również zachować oddzielne obawy.

2

Dobrze gues to zależy trochę od tego, czy mówimy o kondygnacje (pysical) lub warstw (logiczne/projektów).

Jeśli chodzi o nakładanie warstw - można przyjrzeć się architekturze s # arp (code.google.com/p/sharp-architecture/), aby dowiedzieć się, jak to robią (przyjęli dość maksymalne podejście do nakładania warstw).

Na przykład bardziej minimalistycznych poglądów tu spojrzeć na blogu Ayende za: ayende.com/Blog/

chodzi szczeblami - myślę, że niepotrzebnie dodanie dodatkowych warstw i oddanie everthing nad drutu po prostu hit wydajność , chyba że musisz to zrobić ze względu na pojemność. Dopasuj warstwy, a następnie rozdziel je na teerzy, ponieważ musisz dostosować pojemność (nie powinieneś za dużo refaktoryzować, jeśli dobrze rozdzielisz swoje uwagi).

Powiązane problemy