의존성 주입, DI? DIP? IoC? (feat. contextAPI)

date
Feb 28, 2023
slug
의존성-주입-di-dip-ioc-feat-context-api
category
Dev
status
Public
tags
Front-end
keywords
summary
의존성 주입, 제어의 역전, di, dip, ioc 이게 다 뭐야?
type
Post
Last updated
Mar 1, 2023 02:50 AM
Created time
Feb 28, 2023 02:41 AM
최근 백엔드측에서는 의존성 주입(DI)을 내세워 코드를 작성하고 있다고 한다.
이와 관련된 토론 영상을 보는데, 프론트엔드에선 이와 관련된 이야기가 잠잠하다고 하여 찾아봤다.
 
의존성 주입을 하려면 IoC컨테이너가 반드시 필요하다
context API는 상태관리 용도의 도구가 아니다
context API를 의존성 주입 도구로서 사용할 수 있다
context API는 분명 렌더링 관련 성능 이슈가 있다
FE생태계에 의존성 주입을 적용하기에 적합한건 react보다는 angular에 가깝다
 
redux와 같은 상태관리 도구가 provider를 쓰는 것이 context api를 사용하는 것 처럼 보일 수 있지만, 그렇지 않고 해당 상태를 사용하고자 하는 컴포넌트가 해당 스토어를 구독하는 방식으로 되어있다.
context api는 상태관리에 어울리지 않는다.
정적인 값을 props drilling 대신 할 때 적절하다. (theme, config, locale 등)
 
관련된 자료를 찾아보면서 알게 된 중요한 포인트는 아래와 같다.
  1. context API는 상태관리 용도로 쓰기 적절치 않다.
  1. 상태관리 도구들이 사용하는 provider는 context api가 아닐 것
  1. FE생태계에 의존성 주입을 직접 적용하기엔 react보다는 angular에 적합할 것
 
 
참고 문헌