[C#] Singleton 디자인 패턴 구현방법
반응형
싱글톤 패턴의 일반적인 구성요소는 다음과 같다.
- private 생성자
- private static 인스턴스 객체
- public static 객체반환 함수
이를 코드로 작성하면 다음과 같은 방식이 기본적인 클래스 구성으로 나타난다.
public sealed class Singleton
{
private Singleton(){} // 1.private 생성자.
private static Singleton _instance = null // 2. private static 인스턴스 객체
public static Singleton Instance {get {
if ( _instance == null) _instance = new Singleton();
return _instance;
}
} // 3.public static 객체반환 함수
C# 에는 Lazy<T> 라고 하는 객체가 존재하는데 이는 접근할때 생성시켜 주는 객체로 자원 생성을 멀티쓰레드 환경에서 안전하게 해야할때 사용한다.
public sealed class SingletonSample
{
private static Lazy<SingletonSample> _lazy = new Lazy<SingletonSample>(() => new SingletonSample());
public static SingletonSample Instance { get { return _lazy.Value; } }
private SingletonSample() { }
}
반응형
'Study > C#' 카테고리의 다른 글
[C#] WPF에 대해서 알아보자 #2 Binding 기본 개념 및 예제 , 변환기 Converter (0) | 2023.03.07 |
---|---|
[C#] WPF에 대해서 알아보자 #1 WPF를 왜 쓰지? , DataContext (0) | 2023.03.07 |
[C#] Property (0) | 2022.09.16 |
[C#] OpenFileDialog , 파일 오픈 팝업 만들기 (0) | 2022.09.14 |
[C#] WPF DevExpress TableView MutliSelection (0) | 2022.09.13 |
댓글