Agile Principles, Patterns, And Practices In — C#...
Create specific interfaces rather than one general-purpose interface. IFileReader and IFileWriter are better than one IFileProcessor .
make adhering to the Dependency Inversion principle a default behavior rather than an afterthought. Agile principles, patterns, and practices in C#...
Abstracts data access. It allows you to swap a SQL Server implementation for a Mock version during unit testing, facilitating Test-Driven Development (TDD) . facilitating Test-Driven Development (TDD) .