1
這是我一直在努力的第二個項目,我面臨同樣的問題。如何正確處理業務對象狀態的進展?到目前爲止,我們使用一個基本的開關/箱:操作工作流引擎Java API
public void pushTransferToStatus(Long id, Status status) {
// SOME PRECONDITIONS
switch (currentStatus) {
case OPEN:
// DO SOMETHING
break;
case SAVED:
// DO SOMETHING ASYNC
break;
case VALIDATED:
// DO SOMETHING
break;
case AWAITING_SHIPPING:
// DO SOMETHING
break;
case VERIFIED:
// DO SOMETHING
break;
case CLOSED:
// Exit case.
break;
default:
throw new UnsupportedOperationException();
}
pushTransferToStatus(id, newStatus);
}
這導致意大利麪條代碼,你可以看到我有一個aync操作執行。我想知道是否有某種高級API可以幫助我處理這個簡單的工作流程?
我讀了很多關於jBPM的,但我不知道它是否適合你的幫助我的需要...謝謝
到目前爲止,我發現這些它們很簡單,但將是真棒有一些集成到Eclipse
- https://github.com/hekailiang/squirrel
- https://github.com/Beh01der/EasyFlow
- https://github.com/oxo42/stateless4j
要關閉這個問題,貌似https://github.com/spring-projects/spring-statemachine是解決重構,這將是對每個病例以及pushTransferToStatus
移動運營成狀態的一個子類的