Skip to content

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

Open

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

Activity

  1. self-assigned this
    on Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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