user1613714
user1613714

Reputation:

Is this a good architecture for my web application?

I am trying to make a website in ASP.NET MVC, but I am not really sure how I should organize things. N-Tier applications seem to work nice, but since I am a beginner programmer it is pretty hard to understand. I just want to create a small web application where people can login and create pages. In these pages they can add others things. The database won’t be bigger than 10 tables I think. Even though it is a small application, I would like to use some best practices that N-Tier applications use.

Is this a good approach? Or is it very wrong? :

Project.Models

Models that represent the entities in my database.

Project.DAL

Interfaces and implementations for my repositories and unit of work. Also my NHibernate mappings.

Project.BLL

Interfaces and implementations for my services.

Project.UI.Web.MVC

My controllers, viewmodels and views. The controllers get data from services and pass data (viewmodels) to views so I think it’s part of the UI.

Upvotes: 8

Views: 205

Answers (2)

humblelistener
humblelistener

Reputation: 1456

That sounds like a neat layering.

Define clearly on what goes in DAL, BLL and Web.MVC. Because people can have difference in opinion in what goes into business logic and ui logic, I suggest to have a weekly review of what has went into each layers - to start with.

One suggestion is to call Project.UI.Web instead of Project.UI.Web.MVC.

Upvotes: 0

Gaz Winter
Gaz Winter

Reputation: 2989

There are no hard and fast rules about how to organise your project.

That looks pretty logical to me and seems to follow a lot of hte examples that i have seen across the internet.

All that matters is that its logical to you and your team in my opinion.

Take a look at this link as well, might be a lot of useful information for you there:

Best practices for MVC architecture

Upvotes: 2

Related Questions