Programming/C# - Window

C#/ 싱글톤 디자인 패턴 구현(singleton design pattern)

esoog Polaris 2023. 12. 2. 22:05
반응형

# 코드

public class Design
{
    Design()
    {
    }

    static Design _instance = null;

    public static Design Instance
    {
        get
        {
            if (_instance == null)
            {
                _instance = new Design();
            }

            return _instance;
        }
    }

 

 

# 사용

Design d = Design.Instance;

 

 

이 코드는 싱글톤(Singleton) 디자인 패턴을 구현한 것입니다. 싱글톤은 어떤 클래스가 최초 한 번만 메모리를 할당하고 그 메모리에 인스턴스를 생성해 사용하는 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고 객체를 하나만 생성하여 이를 어디에서든지 접근할 수 있도록 하는데 사용됩니다.

해당 코드를 간략히 설명하면:

1. `Design` 클래스는 싱글톤으로 구현되어 있습니다.
2. 정적으로 선언된 `_instance` 변수는 해당 클래스의 유일한 인스턴스를 저장합니다.
3. `Instance` 속성은 `_instance` 변수를 반환하며, 처음 호출될 때 `_instance`가 `null`이면 새로운 인스턴스를 생성합니다.

이렇게 함으로써 애플리케이션 내에서 `Design` 클래스의 인스턴스는 하나만 존재하게 되고, 어디서든지 이 인스턴스에 접근하여 정보를 공유할 수 있습니다. 이러한 패턴은 설정 값, 리소스 관리 등 여러 곳에서 하나의 인스턴스를 공유해야 할 때 유용하게 사용됩니다.

728x90