Idbconnection (the parent class)
- sqlconnection
- oracleconnection
- accessconnection
- oledbconnection
- Database specific provider can instantiate specific connection to database
- these are optimized to perform fast as compared to parent classes they are derived from.
- the main disadvantage is that if we have hardcoded such specific providers in our application and there is a possibility of migrating to another database from the current we are using, we have to alter our data access layer.
- but applying design patterns such as factory method or abstract factory solves this problem.
