validateSelf()란 정해진 메소드명이 아니며,
DTO 등에서 자체적으로 검증을 수행하는 inner method의 예시이다.
Validator Class | validateSelf() | |
설계 측면 | 검증 로직과 DTO 역할이 분리됨 | DTO가 검증 책임까지 맡아 단일 책임 원칙(SRP)를 위배할 수 있음 |
단점 | 구현에 따라 성능 저하 (외부 시스템 or 다수의 컴포넌트 의존) |
DTO가 비대해질 수 있음 (DTO 개수가 많아질수록 불리) |
재사용성 | 다양한 DTO나 컨텍스트에서 재사용 가능 | 검증 로직을 다른 DTO에 공유하기 어려움 |
구현 용이성 | 구현량이 많음 (별도 클래스 작성) | 일반적으로 적용이 쉬움 (메서드 작성) |
테스트 용이성 | 독립적으로 검증 로직 테스트 가능 | DTO와 검증 로직이 결합되어 테스트가 복잡해질 수 있음 |
'짤막 비교' 카테고리의 다른 글
toString() vs asString() / asString() vs 직렬화(Serialization) (0) | 2025.01.12 |
---|