Skip to content

[Auth] 비즈니스로직과 infrastucture 사이의 컴파일타임 의존관계 제거 #10

@hyunsb

Description

@hyunsb

✏️ 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

Metadata

Metadata

Assignees

Labels

수정This doesn't seem right

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions