C#(Winfroms)

싱글톤(Singleton pattern)으로 데이터 베이스 관리

리콜 2022. 12. 5. 12:57

싱글톤은 하나의 객체만 만들어 관리하는 디자인 패턴입니다.

데이터베이스를 관리하거나와 같을때 많이 사용합니다.

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)

과 같이 사용할 수 있게 됩니다.

반응형