개발/C#

[C#] Singleton

min1119 2023. 12. 5. 02:00

Singleton

  • 최초의 호출 시 단 한 번만 생성하고 이후에는 최초 생성된 객체를 호출되게끔 사용하는 디자인 패턴
  • 싱글턴 패턴을 상속받아 사용할 수 있는 클래스로 만듬
  • 생성자가 thread-safe 할 수 있도록 Lazy 클래스를 사용
public class Singleton<T> where T : class, new()
{
    private static readonly Lazy<T> _instance = new(() => new T());
    public static T Instance { get { return _instance.Value; } }
}

Git : https://github.com/ChoiMingyeong/Devoram.git/

 

GitHub - ChoiMingyeong/Devoram: Devoram Engine Repository

Devoram Engine Repository. Contribute to ChoiMingyeong/Devoram development by creating an account on GitHub.

github.com

Permalink : https://github.com/ChoiMingyeong/Devoram/blob/34f03a5917bd164fad8dd4b7957957777e5706bf/Devoram/DevoramUtility/Singleton.cs

'개발 > C#' 카테고리의 다른 글

[C#] CustomEventHandler  (0) 2023.12.12
[C#] Bools  (0) 2023.12.09
[C#] ObjectPool  (2) 2023.12.07
[C#] ConcurrentList  (4) 2023.12.06