https://facebook.com/groups/graphql-kr logo
#클럽-프론트엔드
Title
# 클럽-프론트엔드
j

Jonghun Yang

02/10/2021, 2:40 AM
위에서 xstate관련 얘기가 진행되는걸 재밌게 읽었는데 1. class 싱글톤을 만들어 DI해서 상태를 관리하는 방법 (inversify같은 도구를 사용한다던지 하는 방식으로요) 2. https://www.bsidesoft.com/8289 (요약하기가 어려워서 링크로 대체했어요 시간이 없으신 분들은 글을 맨 아래로내려서 코드만 봐주셔도 될 것 같아요) 이런 방식들로 코드를 짜는것에 대해 여러분들은 생각하시는지 궁금해요
h

Hyeseong Kim

02/10/2021, 3:22 AM
DI 는 항상 좋죠. 거의 대부분의 리액트 프로젝트에서 이미 자연스럽게 활용되고 있고요. 하지만 DI를 위해서 클래스를 도입하는건 조금 부자연스럽게 느껴집니다. 특히 리액트에서는 외부에서 별도의 라이프사이클을 가지는 객체를 동기화하는게 비용이 있다보니 MV* 모델보다는 Elm-ish 모델이 더 잘 어울립니다.
MV* 모델을 차용한다고 해도 저라면 Rx 같은걸 채택하지 일부로 클래스를 하나 만들거같진 않네요
h

Han BaHwan

02/10/2021, 3:24 AM
inversify에 대해서 잘 모르는데 싱글톤 객체를 DI하는것과 전역 스코프를 참조하는 것과 차이점이 있나요?
h

Hyeseong Kim

02/10/2021, 3:24 AM
같은 얘기 아닌가요? 캡슐화 차이인듯
사실 DI 하겠다고 inversify 나 nestjs 같은걸 쓰는건 잘 모르겠어요
앵귤러 같은건 아예 프레임워크 퍼스트파티 제공이니 그러려니 하는데
저는 개인적으로 클래스보단 고차함수쪽을 선호하는 편이라
ㅋㅋㅋㅋㅋ;
그냥
interface A
로 표현되는 DI가 가장 단순하다고 여기는데 마이너 의견일지도 모르겠군요
자바를 쓴지 너무 오래되서 그런가
h

Han BaHwan

02/10/2021, 3:28 AM
inversity 조금 살펴보고 있는데
스프링 느낌이 물씬 나는 물건이네요.
annotation base DI...
h

Hyeseong Kim

02/10/2021, 5:01 AM
네 사실 DI랑 클래스는 별로 연관이 없어서 저는 저런거 볼때마다 이미 잘 하고 있는데 굳이...? 같은 인상을 많이 받긴 하는거같아요 ㅋㅋㅋ
특히나 이미 그런 부분을 제공하는 프레임워크가 있는 경우 (예시: React, Express) 저렇게 일부로 싱글톤 내지는 별도의 라이프사이클 만들어서 관리하는게 오히려 기존의 깔끔한 의존성 구조를 깨먹는 경우가 많죠
새 프레임워크 만들 때 빌딩블럭으로는 괜찮을지도요 🙂
j

Jonghun Yang

02/10/2021, 5:11 AM
의견 주셔서 감사합니다! 말씀주신 내용 중 Elm-ish 모델은 어떤 걸까요? 제가 아직 모르는게 많네요🥲
h

Hyeseong Kim

02/10/2021, 5:11 AM
대충 얘기하면 Flux 나 Redux 같은거요 ㅋㅋ
🙇‍♂️ 1
자세히 알고 싶으시면 The Elm architecture 를 찾아보시면 됩니다
p

ppds

02/10/2021, 5:49 AM
이미 지난 얘기 같지만 DI 가 필요하다고 React 환경에서 inversify 같은걸 가져다 쓰는 것보단 이미 있는 Context Provider 를 쓰는 게 훨씬 낫다는 생각이 들어요.
👍 2
h

Hyeseong Kim

02/10/2021, 5:52 AM
MobX 처럼 통합만 잘한다면 꼭 안쓰리라는 법도 없긴 하죠 ㅋㅋㅋ
👍 1
근데 그게 MobX 가 만들어진 맥락등을 생각하면 무진장 힘든일이기 때문에 굳이 안하는거기도 하고요
zzzz 1
j

Jonghun Yang

02/10/2021, 6:02 AM
inversify를 쓰는게 큰 의미가 없다는데에는 저도 동의합니다! (그냥 ioc container모양새를 잘 갖춰서 context로 넣으면 되니까요) 그냥 코드 없이 어떤 형태의 코드작성을 하려는지 의미를 전달하려다 언급했는데 물어보려던 내용에서 벗어나게 되었네요🙃 질문의 주요 포인트는 저 툴의 사용여부보단 class를 이용해서 ood형태로 상태관리하는 모양새가 어떤가에 대한 질문이었어요
h

Hyeseong Kim

02/10/2021, 6:04 AM
Ood 가 어떤건지 머르겠어용
다만 mobx 내지는 mst 정도가 적절한 예시라고 생각해요
🙇‍♂️ 1