폴더 아키텍처
- common
- config
- RedisConfig.class
- QueryDslConfig.class
- …
- filter
- …
- entity
- dto
- request
- Domain{service}RequestDto
- response
- Domain{service}ResponseDto
- controller
- DomainController.class
- DomainInternalController.class
- endpoint /internal/domains**
- service
- DomainService.class
- DomainFeignService.class
- repository
- internal
- feign
- {Target Domain}FeignClient.interface
- +{Target Domain}FallbackFactory.class
- cache
- redis
- DomainRedisRepository.interface
- DomainRedisRepositoryImpl.class
- jpa
- DomainJpaRepository.interface
- querydsl
- DomainQueryDslRepository.interface
- Custom…
- message
DTO
- 클래스 타입 → record
- class
- record - java17?? 공부
- 접근자 지정x → 자동으로 불변 객체
- @Getter X
- 네이밍 방식 → DomainCreateRequestDto
가독성
- 빌더 패턴 적용 기준
- 최소 필드 수: 생성자 변수 1개있는데 빌드 → 오버 엔지니어링
- 줄 바꿈 기준
-
가이드 라인만 안넘어 가도록
