与使用 Domain 对象验证约束相比,使用 Command 对象验证约束是否有任何性能优势
意思是如果我拦截传入的参数并将其放入命令对象中并调用 cmd.hasErrors() ,然后将其绑定(bind)到对象并尝试 obj.save() 并允许对象约束进行验证
最佳答案
我从未注意到任何性能优势 - 事实上,这样做可能会对性能产生轻微影响。您的命令对象将执行其验证和绑定(bind),您的域对象仍将执行其验证和绑定(bind)。这只是一个猜测,如果属实,那么影响可能相对较小。
我的基本策略是,如果我严格为单个类进行表单输入,我只使用域。如果同一表单上不需要域(例如登录)或多个域(例如作者和书籍),请使用命令对象。
关于Grails:使用 Command 对象验证约束比使用 Domain 对象的性能优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11039956/