我试图在Spring应用程序中实现命令查询责任隔离。
现在,在我的控制器中,我有这段代码:
@Controller
@ResponseBody
@RequestMapping(value="/api/v1.0/")
public class UserController {
public UserController() {
this.createUserCommand = new ValidatorComandDecoratee<CreateUserQuery, User>(
new CreateUserCommand(),
new UserValidator()
);
}
@RequestMapping(value="/some/rest/route")
public User create(){
//removed for brievity
}
}
}
可以在控制器中为 createUserCommand 变量创建此类实例 构造
这就是我为ICommandHandler实现接口的方式:
public interface ICommand<TQuery, TResult> {
TResult handle(TQuery query);
}