Created
March 2, 2017 14:32
-
-
Save AndyConlisk/c5359702e21f47a2bd3a8a74dfcd9bd5 to your computer and use it in GitHub Desktop.
Description on setting up MVC web projects
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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