은, 하나는 어떻게 효율적인 프레임 워크를 설계하는 나에게 아이디어를 줄 수검증 프레임 워크
우리의 접근 방식 했다 모든 메소드의 모든 방법 및 클래스 implementaion을 갖는 인터페이스
은, 하나는 어떻게 효율적인 프레임 워크를 설계하는 나에게 아이디어를 줄 수검증 프레임 워크
우리의 접근 방식 했다 모든 메소드의 모든 방법 및 클래스 implementaion을 갖는 인터페이스
나는 당신의 접근 방식을 잘 모르겠다. 나는 꽤 모호하게 들린다.
필자는 주석 기반 접근 방식을 사용할 것입니다. 특정 매개 변수를 사용하는 다양한 유효성 검사 클래스를 enum에 정의한 다음 주석을 통해 특정 속성에 연결할 수 있습니다.
public enum Validation {
NUMERIC,
TWO_DECIMAL_PLACES,
...;
}
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface MyAnnotation {
...
Validation[] validation() default { };
...
}
...
@MyAnnotation(
...
validation = { Validation.NUMERIC, Validation.TWO_DECIMAL_PLACES })
public BigDecimal getCharge() {
return Charge;
}
은 런타임시 주석은 PropertyDescriptor
및 Method.getAnnotation()
으로 콩 내성을 이용하여 처리 될 수있다.
나는 최근에 우리 자신의 프로젝트에서이 간단한 버전을 구현했지만, 여러 구현 예가있을 수 있습니다. 최대 절전 모드와 봄.
피터와 동의하십시오. Spring을 사용하는 어노테이션 기반 접근법에 대한 nice introduction이 있습니다. 관심이 있으시면 JSR303도 있습니다.
유효성 검사 대상 및 대상은 무엇입니까? 여기서는 패턴 매칭에서부터 비즈니스 규칙 엔진에 이르기까지 모든 종류의 유효성 검사를 생각할 수 있습니다. 좀 더 자세하게 설명해주십시오. – Esko
모든 세부 사항을 metIONing하지 못해 죄송합니다. 이름, 메일 ID, 숫자와 같은 형식으로 abt 유효성 검사를 수행 했으므로이 모든 작업을 수행하는 일반화 프레임 워크를 만들어야합니다. – Pedantic