ForwardRef 를 줄이기 위한 방안

ARA JO·2022년 4월 11일
0

Nest

목록 보기
3/3

ForwardRef 를 줄이기 위한 방안

nestjs를 사용하면서 module끼리 circular가 발생할 때, forwardRef를 사용한다.
하지만 이는 '어쩔 수 없는 상황'에서만 사용하기를 추천하고 있다.
이를 최소화할 수 있도록 생각해 본 방안을 정리해보자.

  1. User, author, customer를 이용해 설명한다.

  2. User는 authorId, customerId FK 존재

Child module imports parent module.

Children(author, customer)는 Parent(User) Module을 Import. 역방향은 피한다.

  • 객체지향개발에서도 C가 P의 자원 접근하는 것이 기본 개념

  • author는 User module을 import, customer도 User module import

    -> 필요시 author - customer 사이에도 forwardRef 없이 import가 가능해진다. (user가 이들을 import하면 circular 발생)

'상태변화'에 따른 로직은 Entity class에 담아둔다.

  • parent, children 에 중복 로직이 발생하지 않는다.
  • 개발 효율성, 상태변화에 따른 일관성
  • 역방향 import에 대한 필요를 최소화 시킬수 있다.
  • MSA Entity 공유시에도 서비스별 상태 변화에 따른 로직 일관성 보장.
profile
Sin prisa pero sin pausa (서두르지 말되, 멈추지도 말라)

0개의 댓글