Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

비지니스 코드를 입력 유효성 검증과 관련된 관심사로 오염시킨다. #10

Open
ingpyo opened this issue May 6, 2023 · 1 comment
Assignees

Comments

@ingpyo
Copy link
Collaborator

ingpyo commented May 6, 2023

입력 유효성 검증을 Validator를 사용해서 처리하는게 왜 오염시키는 것인가

@ingpyo ingpyo self-assigned this May 6, 2023
@ingpyo ingpyo changed the title 유스케이스에 커스텀 검증 로직을 넣는 작업은 비지니스 코드를 입력 유효성 검증과 관련된 관심사로 오염시킨다. 비지니스 코드를 입력 유효성 검증과 관련된 관심사로 오염시킨다. May 6, 2023
@xxeol2
Copy link
Collaborator

xxeol2 commented May 6, 2023

누누: 입력유효성 검증같은 경우엔 String이 null로 들어오는 등의 검증 / 도메인에서 not null 체크까지 전부 하면 지저분해진다. / 그래서 null체크는 입력 유효성 검증으로 분리해줘라.
테오: 누누와 이하 동문. null check나 비즈니스 규칙을 체크하는게 아니기때문에, 서비스에서 순수하게 비즈니스 규칙만 다루기 힘들다. 비즈니스 규칙을 검증하는 로직과, null 체크나 empty체크를 함께 하면 오염된다고 말하는게 아닐까?
비버: 비즈니스 로직에서는 null check나 그런걸 하지 않고, 진짜 비즈니스적인 것만 하면 된다고 생각하냐?
테오: ㅇㅇ. 서비스를 호출하는 누군가가 있을텐데, 서비스는 항상 올바른 데이터를 전달받았다고 가정하고 짜는게 베스트라 생각한다. 만약 Service에서 null체크를 할거면, 도메인에서도 Null체크를 하는 가능성을 열어둬야한다고 생각한다. 입력 모델에서 null체크를 하면 서비스에서는 검증을 하지 않아도 된다. 여기서 말하는 입력 모델은 클라이언트에서 넘어오는 Dto보다는 컨트롤러에서 넘어오는 Dto에 가깝다고 생각한다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants