views:

1886

answers:

3

I am pretty confused about the ASP.NET MVC project architecture. In ASP.NET WebForm I am normally for small to medium size project using following Project pattern

DAL <-- communicate through DTO/reader/dataset -- > BL <--> UI

I think in MVC application should be like

DAL <-- communicate through DTO/reader/dataset --> BL is Model <--controller --> UI is View

  OR

DAL <--communicate through DTO/reader/dataset--> BL <-- communicate through Model --> controller <--> UI is View

where Model is some business object

I would appreciate if anybody would be able to (including Jeff maker of stackoverflow) give any production level experience with ASP.NET MVC.

+1  A: 

I've already started to a ASP.Net MVC project. In my architecture, layers almost like yours.

There is an Entity Layer corresponds to your Data Access Layer and Business Layer as a separated project to easy to plug to another project in corresponds to your Business Layer. And there are Modal Layer accessors in Modal part of the MVC application.

Here is a reference from Asp.Net Mvc Documentation that gives a little advice of application structure.

yapiskan
+1  A: 

this might be helpful as an architectural overview to a mid-sized MVC project - http://www.asp.net/learn/mvc-videos/video-350.aspx

cottsak
+2  A: 

Comparing traditional 3 tier ASP.NET Web App to ASP.NET MVC, the following becomes the corresponding elements:

Business Logic Layer and Data Access Layer together is the Model

ASPX file is the View

Code-behind (ASPX.CS) is the Controller

Have a look at these links for more discussion on the same topic on SO:

ASP.NET MVC Web application vs ASP.NET Web Application

How does the MVC pattern differ, if at all, from the DAL / BLL design pattern?

Nahom Tijnam