Я отталкиваюсь от понимания полиморфизма.. то есть многообразия форм объекта (интерфейсной ссылки). Об этом написано в любой книге по языку C# и по любому другому языку с парадигмой ООП..
Тут самому нужно понимать когда его использовать..
Например если у вас не один источник а два.. то нужно разработать API которое дает методы, работы с данными независимо от источника..
То есть:
public interface IDataAccess{
void Connection();
void BeginTransaction();
}
public class MySqlDal:IDataAccess{
public void Contection(){
//TODO implement method!
}
public void BeginTransaction(){
//TODO implement method!
}
}
public class MsSqlDal:IDataAccess{
public void Contection(){
//TODO implement method!
}
public void BeginTransaction(){
//TODO implement method!
}
}
А дальше уже использовать так:
public IDataAccess mySqlDal = new MySqlDal();
public IDataAccess msSqlDal = new MsSqlDal();
понимаю, что грубый пример но как то вот так.