Search

계층형 구조와 도메인형 구조

날짜
2023/03/02
Rule
directory structure
Text
도메인형 구조를 쓸 예정입니다
계층형 구조와 도메인형 구조
저희조는 도메인형 구조를 쓸 예정입니다.
도메인형 구조
com ㄴ example ㄴ vivid ㄴ domain | ㄴ user | | ㄴ controller | | ㄴ service | | ㄴ repository | | ㄴ domain | | ㄴ dto | | ㄴ exception | ㄴ video | | ㄴ controller | | ㄴ service | | ㄴ repository | | ㄴ domain | | ㄴ dto | | ㄴ exception | ... ㄴ global ㄴ auth ㄴ common ㄴ config ㄴ error ㄴ infra ㄴ util ㄴ security
Plain Text
복사

최상위 레벨의 패키지

최상위 레벨에서는 domain과 global로 패키징합니다.
domain 패키지에서는 프로젝트와 DB 구조에서 핵심 역할을 하는 domian entitiy를 기준으로 하위 패키지를 구성합니다.
global 패키지에서는 프로젝트 전방위적으로 사용할 수 있는 클래스 들로 구성됩니다.

domain 하위 패키지

controllerservicedaodomaindtoexception 패키지로 구성됩니다.
Service : serviceImpl, handler 도 포함 입니다.
repository : repository 클래스들로 구성됩니다.
domain : entity 클래스들로 구성됩니다.
dto : dto 클래스들로 구성됩니다.
exception : exception 클래스들로 구성됩니다.

global 하위 패키지

해당 패키지에는 특정 domain에 종속되지 않고, 프로젝트 전방위적으로 사용할 수 있는 클래스들이 모여있습니다.
global 패키지는 authcommonconfigerrorinfrautil 패키지로 구성됩니다.
auth : 인증인가와 관련된 클래스들로 구성됩니다.
common : 공통 클래스 혹은 공통 value 클래스들로 구성됩니다.
config : 각종 configuration 클래스로 구성됩니다.
error : 공통 exceptionerror와 관련된 클래스로 구성됩니다.
infra : 외부 모듈api 등을 사용하는 클래스로 구성됩니다.
util : 공통 util성 클래스들로 구성됩니다.
security : spring security 와 관련된 클래스들로 구성됩니다.