我是提到的技术的初学者,如果我问一些愚蠢的问题,请原谅我。
我的应用中的验证代码存在设计问题。我经常打破DRY原则。此外,验证让我感到困惑。我总是质疑自己在哪里放置一些验证内容,检查与未检查,传播什么,验证什么等。但是,有一些关于提到的东西的主题,所以我将专注于我的F / S / H技术的具体问题。
例如,我的DAO 保存方法有以下验证:
public void save(Person p){
if(p==null) throw IllegalArgumentException("Person object is required...");
//...
}
我在DAO层中的删除,更新和读取方法中也具有完全相同的验证。
我正在寻找使用 com.springframework.validation.Validator 接口的解决方案,但我遇到了将错误代码传播到Flex客户端的问题。 也许,我可以做这样的事......
public void save(Person p){
BeanPropertyBindingResult err = new BeanPropertyBindingResult(p,"Errors");
//myValidator will be injected
myValidator.validate(p,err);
//...
throw MyException("Message",err);
//...
}
我不知道这是不是很好的做法。使用什么验证方法来最小化此类验证代码的重复。如果有人能给我一些方向,提示,链接,我会很感激。