writer : @김승원

모듈 추가

image.png

하위 모듈을 추가할 상위 모듈에서 우클릭 후 New → Module…

image.png

네이밍 규칙:

루트 모듈 (루트 도메인): founderz

레벨 1 계층 별: founderz-application, founderz-domain….

레벨 2 서브 도메인 별: user-application, user-domain

레벨 3는 만들지 않습니다.

Spring Initalizr가 아닌 New Module로 생성

만약 본인이 레벨 2 모듈을 추가했다면 아래 과정을 따라야한다.

해당 모듈의 이웃하고 있는 상위 모듈 build.gradle에서 (상위: founderz-domain, 하위: user-domain)

// founderz-domain/build.gradle
dependencies {
    api (project(":founderz-domain:user-domain"))
    // api (project(":parent-module:child-module"))
}

이렇게 api로 dependencies를 정의해준다.

패키지 구조 설정

package com.founderz.auth.presentation;

package com . founderz . 서브 도메인 . 계층

계층별 의존 방향 관리

domain
^
application -> event
^
presentation

^ 는 의존 방향입니다. 절대로 반대가 되면 안됩니다. (유저 presentation이 유저 domain을 의존 불가능)