docs(recommendation): 추천 패키지 경계를 갱신한다
This commit is contained in:
@@ -253,9 +253,9 @@
|
||||
- 신규 구현 코드는 `kr.co.vividnext.sodalive.v2` 하위에 둔다.
|
||||
- 신규 코드는 클라이언트 공개 API 조립 계층과 재사용 가능한 추천 기능 계층을 분리한다.
|
||||
- 클라이언트에 공개되는 메인 홈 API 조립 계층은 `kr.co.vividnext.sodalive.v2.api.home` 하위에 두고, 홈 추천 API DTO는 `kr.co.vividnext.sodalive.v2.api.home.dto.recommendation` 하위에 둔다.
|
||||
- 홈 API 외부에서도 재사용 가능한 추천, 점수 계산, 노출 정책, 스냅샷, 캐시, 콘텐츠 조회 이력 기능은 `kr.co.vividnext.sodalive.v2.recommend` 하위에 둔다.
|
||||
- 의존 방향은 `v2.api.home`에서 `v2.recommend`를 호출하는 방향으로만 둔다. `v2.recommend`는 `v2.api.home`의 DTO나 application service에 의존하지 않는다.
|
||||
- `v2.api.home`과 `v2.recommend` 모두 필요한 범위에서 경량 헥사고날 아키텍처를 적용하고, 기본 하위 패키지는 `application`, `domain`, `port`, `adapter`, `dto`를 사용한다.
|
||||
- 홈 API 외부에서도 재사용 가능한 추천, 점수 계산, 노출 정책, 스냅샷, 캐시, 콘텐츠 조회 이력 기능은 `kr.co.vividnext.sodalive.v2.recommendation` 하위에 둔다.
|
||||
- 의존 방향은 `v2.api.home`에서 `v2.recommendation`를 호출하는 방향으로만 둔다. `v2.recommendation`는 `v2.api.home`의 DTO나 application service에 의존하지 않는다.
|
||||
- `v2.api.home`과 `v2.recommendation` 모두 필요한 범위에서 경량 헥사고날 아키텍처를 적용하고, 기본 하위 패키지는 `application`, `domain`, `port`, `adapter`, `dto`를 사용한다.
|
||||
- Controller는 `adapter.in.web`, application service/use case는 `application`, repository/cache/scheduler 구현은 `adapter.out.*`, application이 외부 조회/저장 구현에 의존하는 계약은 `port.out`에 둔다.
|
||||
- `port.in`은 여러 adapter에서 같은 use case를 재사용하거나 진입 계약을 명확히 해야 할 때만 둔다.
|
||||
- 정책, 점수 계산, 노출 조건, 스냅샷 모델처럼 인프라 의존이 없는 코드는 `domain`에 둔다.
|
||||
|
||||
Reference in New Issue
Block a user