我有一个类Response
它包含一个HTTP响应与HTTP状态代码像200或404和其他一些东西,如视图名称和域对象。但让我们专注于状态代码。我可以用一个单独的类,并作为参数传递的状态:具有多个构造函数参数值或多个类的单个类?
public class Response {
private int status;
public Response(int status) {
this.status = status;
}
}
// in a handler method:
return new Response(HttpStatus.OK);
另一种方法是创建一个新的类,每状态代码(HTTP 1.1 41个状态码)。就像这样:
public class Ok extends Response {
public Ok() {
super(HttpStatus.OK);
}
}
// in a handler method:
return new Ok();
public class Created extends Response {
public Created() {
super(HttpStatus.CREATED);
}
}
// in a handler method:
return new Created();
在现实中会出现通常比较参数,如视图名称和域对象,这样new Response(HttpStatus.OK, "customer", customer)
各自new Ok("customer", customer)
。
每个状态代码碰巧有不同的独特处理,或者他们都在做同样的事情,除了他们的#不同吗?如果这些课程没有带来任何新的表格,请不要使用它们。 – 2010-07-13 20:02:57
状态被发送到客户端,但对于服务器端来说,它们非常相似,只有一些与底层servlet API有点不同的错误代码的例外,但这不是该类的责任( es)如上所示。 – deamon 2010-07-13 20:07:48
@大卫 - 这将是一个很好的答案,而不是一个评论。 – Alohci 2010-07-13 20:08:30