2013-01-07 15 views
8

Próbuję utworzyć witrynę sieci Web w środowisku ASP.NET MVC, ale nie jestem pewien, w jaki sposób powinienem organizować różne rzeczy. Aplikacje N-Tier wydają się działać dobrze, ale ponieważ jestem początkującym programistą, jest to dość trudne do zrozumienia. Chcę tylko stworzyć małą aplikację internetową, w której ludzie mogą się logować i tworzyć strony. Na tych stronach mogą dodawać inne rzeczy. Baza danych nie będzie większa niż 10 tabel, jak sądzę. Mimo że jest to niewielka aplikacja, chciałbym skorzystać z najlepszych praktyk, z których korzystają aplikacje N-Tier.Czy to dobra architektura dla mojej aplikacji internetowej?

Czy to dobre podejście? Czy to bardzo źle? :

Project.Models

modele reprezentujące podmioty w mojej bazy danych.

Project.DAL

Interfejsy i implementacje dla moich repozytoria i jednostki pracy. Również moje mapowania NHibernate.

Project.BLL

Interfejsy i implementacje dla moich usług.

Project.UI.Web.MVC

Moi sterowniki, ViewModels i poglądy. Kontrolery pobierają dane z usług i przekazują dane (viewmodels) do widoków, więc myślę, że to część interfejsu.

+1

jak na Gaz nie ma sztywnych reguł, tylko jedna propozycja Project.UI.Web.MVC może być tylko Project.UI.Web. – paritosh

Odpowiedz

2

Nie ma twardych i szybkich zasad dotyczących organizacji projektu.

To wydaje mi się logiczne i wydaje się podążać za wieloma przykładami, które widziałem w Internecie.

Wszystko, co ma znaczenie, jest logiczne dla ciebie i twojego zespołu w mojej opinii.

Spójrz na ten link, jak również może być wiele przydatnych informacji dla Ciebie tam:

Best practices for MVC architecture

0

To brzmi jak schludny warstw.

Zdecydowanie definiuj, co dzieje się w DAL, BLL i Web.MVC. Ponieważ ludzie mogą mieć różnicę w opiniach co do logiki biznesowej i logiki ui, sugeruję cotygodniowy przegląd tego, co poszło do każdej warstwy - na początek.

Jedna z sugestii to wywołanie Project.UI.Web zamiast Project.UI.Web.MVC.

Powiązane problemy