Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Description on setting up MVC web projects
Application.Core
This namespace should contain all functionality that is not expansive enough to be in its own project but are required by multiple consumers/projects
- Logging and other cross access functions
- Generic helper classes for logging.
- Non-domain specific, independent functionality, and Profiling. Such as .NET Extension methods.
Application.Domain
This namespace contains the domain objects.
- Domain Objects (POCO), Shared data transfer objects, Models, ViewModels, etc
- Business logic for Validators, Filters, Factories, Regular expressions
Application.Data
This is the Data Access Layer. This is for accessing the persistence store.
- EntityFramework Context and mapping of domain objects. ORM setup
- Data access patterns
Application.Services
This is the Business Logic Layer. This should be the main area where business logic appears. This is where consumption of all the previous layers happens.
- Business Logic
- Connection of "lower" objects (Domain and Data)
- Example can be a thin layer for retrieving and storing data objects
- Integration with external services
Application.Web
This is where the web based project(s) are located.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment