의존성 관리

application - infrastructure 두 개의 모듈로 나누었을 때 의존성을 infra에 몰아서 때려박는다

이렇게 함으로써 **의존성의 방향**이 infra → app 그니까 밖에서 안으로 흐르게 된다 **단뱡향**!

에러 코드

에러 코드랑 exception을 각각의 에그리거트 별로 나누어 놓는다

이렇게 하면 좋은 점이 global에 모든 에러 코드를 놓았을 때와 다르게

어디에서 어떤 에러가 나는지 쉽게 알 수 있기 때문이다

api ? spi ?

UseCase에 직접 implements 하는거는 api에 놓는 거 같고

그 UseCase에서 DI해서 사용하는 메소드 들들을 spi에 놓는 거 같다

의존성 방향

controller는 service에 의존하고 service는 Repository에 의존한다

의존성 방향 controller → service → repository

의존성이 controller에서 service로 흐른다는건

controller가 service를 사용하는거고 controller가 service에 의존하는거임

용어 정리

<aside> 💡 웹 어댑터 = 컨트롤러

</aside>

Mapper(매퍼)를 쓰는 이유