何时应该使用命令对象和域对象?
每种方案有哪些缺点和优点?
答案 0 :(得分:2)
何时应该使用命令对象和域对象?
域对象是您要保留到数据库的对象。命令对象可能是域对象,但不必如此。任何对象都可以用作命令对象。命令对象是让框架为你做一堆工作的便捷方式(数据绑定,依赖注入,验证等......)。
当你编写这样的控制器动作时:
class SomeController {
def someAction(SomeCommand co) {
// your code here...
}
}
编译器将生成类似这样的东西(伪代码,但代表性):
class SomeController {
def someAction(SomeCommand co) {
// your code here...
}
def someAction() {
SomeCommand co = new SomeCommand()
bindData co, request
// subject co to dependency injection
co.validate()
someAction(co)
}
}