✏️ Content
@Service
public class UserService {
private final UserCommandAdapter userCommandAdapter;
private final AccessTokenService tokenService;
// ...
}
현재 위 코드와 같이 비즈니스 로직에서 Infra 영역의 클래스를 직접 의존하고 있는 구조입니다.
클린 아키텍처가 지향하는 구조를 위해서는
아래와 같이 application 패키지에 interface를 구현하여 둘 사이의 컴파일 의존성을 끊어내야 합니다.
@Service
public class UserService {
private final UserOutputPort UserOutputPort;
private final AccessTokenService tokenService;
// ...
}
public interface UserOutputPort {
User generateUser(UserForSignUp signUp);
}
참고 코드 : sparta-logistics
✏️ Content
현재 위 코드와 같이 비즈니스 로직에서 Infra 영역의 클래스를 직접 의존하고 있는 구조입니다.
클린 아키텍처가 지향하는 구조를 위해서는
아래와 같이 application 패키지에 interface를 구현하여 둘 사이의 컴파일 의존성을 끊어내야 합니다.
참고 코드 : sparta-logistics