biud436 / stingerloom

Node.js Server Framework
6 stars 1 forks source link

fix: 순환종속성 문제 #40

Closed biud436 closed 8 months ago

biud436 commented 8 months ago

https://github.com/biud436/stingerloom/blob/fc91170d7600050627f9cb7b18293a137379b902/packages/common/allocators/transformBasicParameter.ts#L39-L43

인스턴스가 없는 경우는 다음 두 가지입니다.

  1. 아직 로드되지 않은 injectable을 인젝션 하려고 했다.
  2. 순환종속성 관계에 있는 객체를 인젝션하려고 했다.

이때, 1과 2를 구분할 수 있는 방법이 필요합니다. 그럴려면 참조 관계에 있는지 확인할 수 있어야 합니다.

또한, 2의 순환참조 문제일 경우에도, 인스턴스가 생성되지않은 상태이므로 인스턴스 획득이 어렵습니다. 따라서 순환 종속성 오류를 띄워야 합니다.

또한 인스턴스가 모두 생성된 후 나중에 실행되는 Lazy한 Inject 또한 필요합니다.

단순히 2의 경우로 전부 처리하면 해결은 쉽지만, 1의 경우를 구분하기가 힘들어서 디버깅 시 좋지 않습니다.