我需要设计一个消耗请求并产生响应的服务。在结构方面,我希望响应基本上回应请求并且还包括状态。
e.g。
请求:
class Request {
String x;
String y;
}
class Response {
String x;
Status x_s;
String y;
Status y_s;
}
是否有人知道任何描述这种情况的模式?一种解决方案可能是使用相同的对象来表示请求和响应,另外还有一个封装了值和状态的对象,例如。
class Attr {
Status status;
String value;
}
class RequestResponse {
Attr x;
Attr y;
}
感谢。
答案 0 :(得分:3)
为什么不
public class Response {
private Request request; // Has-a relationship
private Status x_s;
private Status y_s;
}
除了任何设计优点外,这还有一个额外的好处,就是“重用”已经为请求分配的内存。它还允许您在生成/处理响应时使用Request类中定义的功能,如Request.getRequestType()或类似功能。
另一个解决方案是让Response从请求继承(is-a relationship),但组合方法通常更好