Flutter 싱글톤 대신 의존성 주입 사용하기

프로그램이나 앱이 한번 가동되면 종료될 때까지 한 개의 인스턴스만을 가져야 하는 경우가 있습니다. 예를 들면 소켓, I/O 처리, 옵션 설정 등이 있을 겁니다. 지금까지 싱글톤 패턴을 이용해 어디서든 instance를 가져와 사용했었는데, 아주 큰 단점이 하나 있습니다. 사용하는 순간 종속되어 단위 테스트와 다른 프로젝트에 재활용할 수 없다는 것이죠. 😨 그래서 최대한 싱글톤 사용을 지양하고자 다른 방법을 찾게 되었습니다. 바로 의존성 주입(DI)죠. 🔍 의존성 주입 (DI, Dependency Injection) 💡 Quotation 의존성 주입은 프로그램 디자인이 결합도를 느슨하게 되도록 하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로부터 분리하는 것이다....

2025년 10월 16일 · 4 min · 705 words · JongBin

유니티 싱글톤 패턴 및 템플릿 구현

💡 Quotation 소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. Wikipedia 싱글톤 패턴은 위 내용처럼 프로그램이 가동된 후 딱 하나의 인스턴스만 갖는 객체를 말합니다. 전역 변수의 개념이 있으며 해당 객체의 포인터를 알고 있다면 글로벌한 성격을 가질 수도 있습니다! 👍 하지만 전역 및 글로벌 변수들이 많으면 스파게티 코드가 된다는 단점이 있으며 사용하는 순간 종속되기 때문에 단위 테스트의 어려움을 가질수 있습니다....

2025년 01월 01일 · 3 min · 639 words · JongBin