ssafy-pjt-naem / naem-back

4 stars 0 forks source link

Validation 책임과 범위는 어떻게 가져가야할까? #52

Open minju412 opened 3 weeks ago

minju412 commented 3 weeks ago

validation의 경우, 함께 고민해볼 가치가 있다고 생각합니다!

  1. validator를 별도의 서비스로 정의 (지금 방법!) a. 책임 분리 원칙을 따르는 좋은 객체지향 설계 방식이지만, 작은 규모의 프로젝트에서는 불필요한 종속성을 높일 수 있습니다.
  2. 컨트롤러에서 바로 검증 a. 메서드로 정의할 수도 있지만, 커스텀 Valid Annotation을 만들수도 있습니다! 참고
  3. 서비스에서 검증
  4. 도메인 객체에서 검증 a. 검증 로직을 도메인 객체 내에 포함시킴으로써, 도메인 객체의 상태가 항상 유효하도록 강제할 수 있습니다.

여러 방법 중 1번 방법을 선택하게 된 이유가 있는지 고민해보면 좋을 것 같아요!

chwangmin commented 3 weeks ago

현재의 프로젝트 규모에서는 validator로 분리하는 부분은 over cost라고 생각하는 부분 동의합니다.

하지만 저의 생각에는 validator를 추가하는게 객체지향적인거 같습니다. validator을 사용하는 이유는 유지보수 측면에서 도움이 되기 때문인데요. 다음에 리팩토링을 하면서 validator에 대해 공부를 해서 적용해보는 건 어떨까요?