
싱글톤(Singleton) 패턴이란 특정 클래스의 인스턴스가 하나만 존재하도록 보장하는 디자인 패턴이다.
C#에서 간단한 방법으로 싱글톤을 구현했다.
!
객체를 호출했을때, 객체가없다면 생성해서 반환하고
객체가 이미 있다면 생성해둔 객체를 반환한다.
한번의 new 키워드로 인스턴스를 생성하여 사용하기때문에 메모리 낭비를 방지할 수 있다.
싱글톤으로 만들어진 클래스의 인스턴스는 전역이기때문에 데이터를 공유하기 쉽다.
너무 많은 일을 하거나 많은 데이터를 공유시킬 경우 다른 클래스의 인스턴스들 간에 결합도가 높아져 "개방-폐쇄 원칙"을 위배하게 된다.
또한 멀티쓰레드 환경에서 동기화 처리를 하지 않으면 인스턴스가 2개 생성 될 수 있는 가능성이 생긴다.