싱글톤은 하나의 객체만 만들어 관리하는 디자인 패턴입니다.
데이터베이스를 관리하거나와 같을때 많이 사용합니다.
C# 데이터베이스를 위해 MySql을 사용하였는데 Connection을 열고 닫고 제대로 하지 않거나 겹치게 되면 오류가 발생한다. 따라서 DBmanager을 싱글톤으로 작성하여 관리하게 된다면 오류도 줄이고 편하게 요청을 할 수 있다.
internal class DBmanager{
private static DBmanager instance;
public static DBmanager GetInstance()
{
return instance;
}
private DBmanager(){
}
}
private static으로 객체를 생성합니다. 또 이에 대한 접근을 위해 public static으로 객체를 return하는 함수를 선언합니다.
이렇게 static으로 전역변수로 선언하여 객체를 생성하고 객체를 반환하는 GetInstace를 통해 객체의 함수들에 접근하는 것입니다.
public void Delete(string query)
{
using (MySqlConnection conn = new MySqlConnection(strConn))
{
conn.Open();
MySqlCommand cmd = new MySqlCommand(query, conn);
cmd.ExecuteNonQuery();
}
}
만약 다음과 같은 실행 함수가 있다면
DBmanager.GetInstance().Delete(string)
과 같이 사용할 수 있게 됩니다.
반응형