인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

hellobeen님의 프로필 이미지
hellobeen

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: ASP.NET Core 심화편

DI에 대하여..

작성

·

216

0

안녕하세요.

Dependancy Injection의 Singleton을 사용하는 것과 직접 Singleton객체를 만들어서 활용하는 이둘의 궁극적인 차이가 무엇인지 궁금하네요.

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그냥 Singleton을 사용할 경우
해당 코드에 직접 접근해서 (ex. LogManager.Instance )사용하기 때문에
어느 정도의 코드 종속성이 생깁니다.

반면 DI를 사용하면 꼭 '특정' 형식의 Manager를 사용할 필요 없이
특정 Interface을 DI에 등록할 수 있기 때문에
나중에 마음이 바뀌면 해당 Interface에
다른 클래스를 DI로 꽂아줄 수 있습니다.
(ex. FileLogManager라거나, ConsoleLogManager라거나...)
따라서 코드 종속성 차원에서 이점이 있습니다.

hellobeen님의 프로필 이미지
hellobeen

작성한 질문수

질문하기