싱글톤 패턴 2

[C++] 싱글톤 패턴 (2) with C++

예제 본문에서 구현한 예제 코드를 조금 바꿔서 main 함수에서, 그리고 다른 클래스에서 해당 클래스를 호출해 보자. 기본적으로 싱글톤으로 디자인된 인스턴스를 사용하려면 다음과 같은 코드를 입력하면 된다. DB* db = DB::GetInstance(); // 싱글톤 클래스명* 변수명 = 싱글톤 클래스명::정적함수; 우리의 목표는 유저의 정보를 담는 User 클래스를 만들고, DB 클래스의 인스턴스를 생성해 쿼리를 작성하는 것이다. 그리고 main 함수에서도 동일하게 사용할 수 있는지 확인해 보자. #include #include #include #include class DB { MYSQL _mysql; static DB* _instance; DB(); public: DB(const DB&) = del..

Language/C++ 2023.08.10

[C++] 싱글톤 패턴 (1) with C++

Singleton Pattern 개요 프로젝트 진행 중, 특정 클래스가 실행 동안 한 번만 초기화되어야 하는 상황이 발생할 때가 있다. 예를 들어, MySQL과의 연결을 관리하는 클래스는 여러 번 생성될 경우 메모리와 같은 자원의 낭비가 초래될 수 있으며, 데이터 일관성 또한 손상될 가능성이 있다. 다수의 프로그래밍 언어에서는 이와 같은 상황을 대비하여 싱글톤 패턴(Singleton Pattern)을 도입하였다. 이 패턴의 핵심은 애플리케이션 내에서 해당 클래스의 인스턴스가 유일하게 하나만 존재하도록 보장하는 것이다. 이를 통해 앞서 언급된 문제점을 해결할 수 있으며, 전역적으로 참조 가능한 액세스 포인트를 제공하여 다른 객체들이 이를 쉽게 활용할 수 있게 된다. 그러나, 이 패턴의 도입은 전역 상태를 ..

Language/C++ 2023.08.09