Most web applications we build benefit from having a separate “data access layer” (DAL) and separating business logic from database interaction.
The main advantages to this are easier testing and maintainability. Because business logic is separated from the actual implementation, you can write code in terms of higher level abstractions, rather than having to worry about specifics.
Continue reading “The Repository and Unit of Work Design Patterns”