네이밍 하기 전 도메인 패키지 및 인프라 패키지 구조 고려사항
[후보]
Querydsl~
인터페이스 대신 구현 클래스 사용
- infra
- JpaUserRepository (UserRepository 상속)
1번
- domain
- UserRepository (인터페이스)
- infra
- JpaUserRepository (UserRepository 상속, QuerydslUserImpl 상속)
2번 - 결정
- domain
- UserRepository
- infra
- UserRepositoryImpl (UserRepository 구현체, 네이밍 고려, InfraUserRepository?)
- 필드로 JpaUserRepository, QueryFactory를 가짐
- JpaUserRepository
2번 수도코드 - 결정 예시
public class OrmUserRepository implementation UserRepository {
private final JpaUserRepository jpaUserRepository;
private final QueryUserRepository queryUserRepository;
}
public class QueryUserRepository {
private final QueryFactory queryFactory;
// querydsl 코드 짜기
}
public class RedisUserRepository implementation UserRepository {
private final Redis뭐시기 redis뭐시기;
}