짤막 비교

Validator Class vs validateSelf()

SH3542 2025. 1. 13. 10:35

 

validateSelf()란 정해진 메소드명이 아니며,

DTO 등에서 자체적으로 검증을 수행하는 inner method의 예시이다.

 

  Validator Class validateSelf()
설계 측면 검증 로직과 DTO 역할이 분리됨 DTO가 검증 책임까지 맡아 단일 책임 원칙(SRP)를 위배할 수 있음
단점 구현에 따라 성능 저하
(외부 시스템 or 다수의 컴포넌트 의존)
DTO가 비대해질 수 있음 (DTO 개수가 많아질수록 불리)
재사용성 다양한 DTO나 컨텍스트에서 재사용 가능 검증 로직을 다른 DTO에 공유하기 어려움
구현 용이성 구현량이 많음 (별도 클래스 작성) 일반적으로 적용이 쉬움 (메서드 작성)
테스트 용이성 독립적으로 검증 로직 테스트 가능 DTO와 검증 로직이 결합되어 테스트가 복잡해질 수 있음