Question : Sample code for Singleton design pattern to get a connection to the DB
Singleton can be use where there is a need to create only one instance of a given class
Here are some common examples: File Handler, Print Spooler handler, Database connection, etc
Singleton class
public class ConnSingleton
{
private static ConnSingleton dbInstance;
private readonly SqlConnection conn = new SqlConnection(@"Data Source=127.0.0.1;database=soa;User id=sa1;Password=sa1;");
private ConnSingleton()
{
}
public static ConnSingleton getDbInstance()
{
if (dbInstance == null)
{
dbInstance = new ConnSingleton();
}
return dbInstance;
}
public SqlConnection GetDBConnection()
{
try
{
conn.Open();
Console.WriteLine("Connected");
}
catch (SqlException e)
{
Console.WriteLine("Not connected : "+e.ToString());
Console.ReadLine();
}
finally
{
Console.WriteLine("End..");
// Console.WriteLine("Not connected : " + e.ToString());
Console.ReadLine();
}
Console.ReadLine();
return con;
}
}
{
private static ConnSingleton dbInstance;
private readonly SqlConnection conn = new SqlConnection(@"Data Source=127.0.0.1;database=soa;User id=sa1;Password=sa1;");
private ConnSingleton()
{
}
public static ConnSingleton getDbInstance()
{
if (dbInstance == null)
{
dbInstance = new ConnSingleton();
}
return dbInstance;
}
public SqlConnection GetDBConnection()
{
try
{
conn.Open();
Console.WriteLine("Connected");
}
catch (SqlException e)
{
Console.WriteLine("Not connected : "+e.ToString());
Console.ReadLine();
}
finally
{
Console.WriteLine("End..");
// Console.WriteLine("Not connected : " + e.ToString());
Console.ReadLine();
}
Console.ReadLine();
return con;
}
}
Method to call from Main class:
public static void Main(string[] args)
{
ConnSingleton cs = ConnSingleton.getDbInstance();
cs.GetDBConnection();
Console.WriteLine("Connection Established");
}
{
ConnSingleton cs = ConnSingleton.getDbInstance();
cs.GetDBConnection();
Console.WriteLine("Connection Established");
}
No comments:
Post a Comment