[디자인패턴] 싱글톤(Singleton) 패턴이란?
·
공부/소프트웨어공학
싱글톤 패턴은 Creational Design Pattern이다.무엇인가?- 단 하나의 클래스 객체(instance)가 생기도록하는 패턴이다. 어디서나 접근 가능하다.​왜 사용하나?- 어디에서 접근 가능한 객체가 필요한 경우가 생기기 때문이다.최초로 객체를 생성하고 난 뒤에 추가로 객체를 생성할 필요가 없으니 메모리, 속도 면에서 이점이 있다. public static Logger getInstance() { if (instance == null) instance = new Logger(); return instance; }이렇게 ​instance가 null이라면 새로운 instance를 생성하고, instance가 이미 있다면 기존 instance를 사용하는 방식이다. 싱글 스레드에서는 아무 문..
[웹 서버] singleton, transient, scoped 생명주기 비교
·
공부/기타
.NET에서 종속성을 주입할 때 사용하는 3가지 서비스의 생명주기를 비교해보자. 기본 Blazor.Server의 프로그램을 조금만 수정하면 생명주기를 쉽게 알 수 있다. Data에 Test.cs 파일을 생성해준다. using System; namespace BlazorApp1.Data { public class Test { } public class SingletonService : IDisposable { public Guid ID { get; set; } public SingletonService() { ID = Guid.NewGuid(); } public void Dispose() { Console.WriteLine("SingletonService Disposed"); } } public class..