E-Commerce-Site Patterns: Repository Decouples business code from data access Seperation of concerns Minimizes duplicate query logic Increased Abstraction Simplifies Testing Promotes Maintainability Planned Functionality: Unit Tests