IOC
-
[ASP.NET Core] AddSingleton(), AddScoped(), AddTransient() 차이점 - 2.NET/ASP.NET Core 2023. 3. 15. 21:47
해당 포스트 작성하기 약 2년 전, ASP.NET Core 에서 3가지 생명주기에 대해 정리한 적이 있었다. [ASP.NET Core] AddSingleton(), AddScoped(), AddTransient() 차이점 - 1 :: 또치의 삽질 보관함 (tistory.com) [ASP.NET Core] AddSingleton(), AddScoped(), AddTransient() 차이점 - 1 ASP.NET Core에서 의존성 주입에 의해 추가되는 Service는 크게 3가지 생명주기를 지닌다. AddSingleton AddScoped AddTransient AddSingleton의 경우는 클라이언트(보통 웹브라우저)의 접속상태에 관계없이, 웹 서 ddochea.tistory.com 지난시간에 Scop..
-
[ASP.NET Core] AddSingleton(), AddScoped(), AddTransient() 차이점 - 1.NET/ASP.NET Core 2021. 9. 12. 22:54
ASP.NET Core에서 의존성 주입에 의해 추가되는 Service는 크게 3가지 생명주기를 지닌다. AddSingleton AddScoped AddTransient AddSingleton의 경우는 클라이언트(보통 웹브라우저)의 접속상태에 관계없이, 웹 서비스 시작 때 생성되서, 웹 서비스가 종료될때까지 유지된다. Singleton이란 이름에 걸맞게, 클라이언트가 아무리 많이 붙어도 오직 1개의 서비스만 존재하게 된다. AddScoped는 클라이언트의 Request 시작부터, Response 종료까지 유지된다. 각 클라이언트마다 존재하므로, 연결되는 클라이언트 수 만큼 존재하게 될 수 있다. AddTransient는 의존성 주입한 객체마다 독립적인데, 그냥 간단한 교육용 예제 서비스에선 AddScope..
-
[.NET] Dependency Injection(DI)를 쓰는 이유.NET/개념 및 유용한 팁 2021. 8. 7. 12:46
ASP.NET Core는 기본적으로 DI가 적용된 구조로 생성된다. 그런데 왜 DI 가 적용되어있을까? 인터넷에서 보면 다음과 같은 이유로 DI가 좋다고 되어있다. 코드의 재사용성을 높인다. 결합도를 낮춘다. 여러 블로그글을 보면 위 내용들이 많다. 그런데 왜 재사용성이 높아지고, 결합도가 낮아지는 건지 와닿진 않는다. 그리고 굳이 DI를 써야하나라는 의구심이 들기도 한다. 솔직히 필자도 DI 가 좋은 이유에 대해 제대로 설명해보라고하면 못할 듯 싶다. 그래서 아래 간단한 실습을 통해 DI가 어떻게 동작하며, 왜 좋은지 포스트로 남겨보고자 한다. 1. 프로젝트 생성 "WhyUseDI" 라는 이름의 솔루션을 생성하고, "WhyUseDI.API" webapi 와 "Services" classlib 프로젝트를..