Практическое использование ООП - C#
Формулировка задачи:
Хоть по этому вопросу и есть множество информации и тем даже на этом форуме, но понимания практического применения так и не прибавилось.
Объясните пожалуйста на конкретном примере, что и как правильно использовать.
Пример. Есть три класса, которые реализуют методы, по работе с базами данных MSSQL, Oracle и Postgresql.
Все три класса практически одинаковы по коду, за исключением того, что используют разные библиотеки (System.Data.Sql, Npgsql и Oracle.DataAccess.Client) и отличаются названия классов и методов в используемых библиотеках (например SqlConnection,NpgsqlConnection,OracleConnection). Т.е. реализация абсолютно одинакова, но используются разные объекты. Сейчас понадобилось написать приложение, которое будет взаимодействовать с двумя (а может и тремя) БД, в связи с этим возник вопрос: Можно ли каким-то образом организовать код, чтобы реализация была в одном общем классе, а инициализация подключаемых библиотек в трех других?
PS.
1. Нет перенести все на одну БД нельзя
2. Строк кода в классах не много, но хочется понять, для чего все таки нужно ООП
Решение задачи: «Практическое использование ООП»
textual
Листинг программы
class ConnectionTester
{
public bool Test<T>(string connString) where T : DbConnection, new()
{
var connection = new T() { ConnectionString = connString };
try
{
connection.Open();
return true;
}
catch (Exception e)
{
return false;
}
finally
{
connection.Dispose();
}
}
}