gpt4 book ai didi

java - 是否有逐步执行流程的任何模式/方式?

转载 作者:搜寻专家 更新时间:2023-11-01 03:16:37 24 4
gpt4 key购买 nike

我在服务器端有一个使用 Java 和 Spring 的应用程序。这个服务器有几个模块,其中一个负责一个进程的执行。一个来自模块有一个从端点之一开始的过程,只有几个步骤。

像这样:

@RestController
@AllArgsConstructor
@RequestMapping(value = "movie")
public class MovieController {

private final MovieService movieService;

@GetMapping("step1")
public ResponseEntity step1() {
return movieService.step1();
}

@GetMapping("step2")
public ResponseEntity step2() {
return movieService.step2();
}

@GetMapping("step3")
public ResponseEntity step3() {
return movieService.step3();
}

@GetMapping("step4")
public ResponseEntity step4() {
return movieService.step4();
}

@GetMapping("step5")
public ResponseEntity step5() {
return movieService.step5();
}
}

如您所见,在这种情况下,每个步骤都可以从 UI 开始。但现在我需要添加从一个端点运行所有步骤的能力。所有步骤都取决于上一步的状态,如果上一步失败,则永远不必开始下一步。这就是为什么我正在寻找执行所有步骤的最佳方式。

我不喜欢这样:

@PostMapping("run")
public ResponseEntity runProcess() {
movieService.step1();
movieService.step2();
movieService.step3();
movieService.step4();
return movieService.step5();
}

我想到了 Spring Batch,我可以将 movieService 的每个方法分离到 Spring Batch 步骤,但是有什么意义吗?

实现此类问题的正确方法是什么?

最佳答案

我会选择 State pattern和一个将逻辑嵌入其中的类。因此,您可以根据需要多次调用更改状态函数,还可以将逻辑(“如果出现故障”)嵌入到模式中。

关于java - 是否有逐步执行流程的任何模式/方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48073066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com