2013-01-07 14 views
8

Sto cercando di creare un sito Web in ASP.NET MVC, ma non sono sicuro di come organizzarlo. Le applicazioni N-Tier sembrano funzionare bene, ma dal momento che sono un programmatore principiante è piuttosto difficile da capire. Voglio solo creare una piccola applicazione web in cui le persone possano accedere e creare pagine. In queste pagine possono aggiungere altre cose. Il database non sarà più grande di 10 tavoli, penso. Anche se si tratta di una piccola applicazione, vorrei utilizzare alcune best practice utilizzate dalle applicazioni N-Tier.È una buona architettura per la mia applicazione web?

È un buon approccio? O è molto sbagliato? :

Project.Models

I modelli che rappresentano le entità nel mio database.

Project.DAL

Interfacce e implementazioni per i miei archivi e unità di lavoro. Anche i miei mapping NHibernate.

Project.BLL

Interfacce e implementazioni per i miei servizi.

Project.UI.Web.MVC

miei controllori, ViewModel e punti di vista. I controllori ottengono i dati dai servizi e passano i dati (viewmodels) alle visualizzazioni, quindi penso che faccia parte dell'interfaccia utente.

+1

come da Gaz non esiste una regola hard fast, solo un suggerimento Project.UI.Web.MVC può essere solo Project.UI.Web. – paritosh

risposta

2

Non ci sono regole rigide su come organizzare il tuo progetto.

Mi sembra abbastanza logico e sembra seguire molti esempi che ho visto su Internet.

Tutto ciò che conta è che sia logico per te e per la tua squadra secondo me.

Date un'occhiata a questo link, così, potrebbe essere un sacco di informazioni utili per voi là:

Best practices for MVC architecture

0

che suona come una stratificazione ordinata.

Definire chiaramente ciò che accade in DAL, BLL e Web.MVC. Poiché le persone possono avere opinioni divergenti su ciò che accade nella logica aziendale e nella logica dell'interfaccia utente, suggerisco di avere una revisione settimanale di ciò che è accaduto in ogni livello - per cominciare.

Un suggerimento è chiamare Project.UI.Web anziché Project.UI.Web.MVC.

Problemi correlati