我有一个名为Calculator的类,它调用一个名为 CalculatorService 的服务来执行某些算术运算。
public class Calculator {
@Autowired
CalculatorService calculatorService;
@GET
@Path("/add/{x}/{y}")
@Produces(MediaType.APPLICATION_JSON)
public Response add(@PathParam("x") int x, @PathParam("y") int y) {
Double addR=calculatorService.add(x, y);
Result r = new Result();
r.setResult(addR);
return Response.ok(r).build();
}
}
我没有在这里创建类Result的新对象并更新结果,而是希望以更简洁的方式进行,如下所示。
calculatorService.add(x, y).result();
这将返回一个Result类对象,该对象最终将转换为JSON响应并返回。 Result类可能有更多属性,如num1,num2,timeTakenByCalculation等。
我想使用一些助手类使用构建器模式,但无法弄清楚如何实现它。
答案 0 :(得分:0)
Builder设计模式的目的是分离 从其表示构造复杂对象。通过这样做, 相同的施工过程可以创造不同 表示。强>
您不希望/需要对JSON响应进行不同的表示,因此无需应用构建模式。
为什么不简单:
public interface CalculatorService {
Result calculate(x, y);
}
和
public class ResultJSONConverter {
public JSONResponse convert(Result result);
}
你会像这样使用它们:
JSONResponse response = new ResultJSONConverter().convert(calculatorService.calculate(x,y));