gpt4 book ai didi

java - 处理以下场景的设计模式

转载 作者:行者123 更新时间:2023-11-29 04:56:22 26 4
gpt4 key购买 nike

我正在为以下场景寻找一个好的设计模式,

我需要按照以下步骤操作,每一步之后我都需要更新数据库中的状态。为此,我在 updateStatus(String status) 中创建了一个单独的类 UpdateStatusDAO 将更新数据库中的详细信息。步骤是,

1. Update Status as Processing Started
2. Read File
3. Update Status as Reading Completed
4. Process File
5. Update Status as File Processing Completed
6. Rename File
7. Update Status as File Rename Completed
8. Update Status as Processing Completed

try{

UpdateStatusDAO updateStatusDAO = new UpdateStatusDAO();

updateStatusDAO.updateStatus("Process Started");

// Read File
try{

} catch(Exception e){
throw new Exception();
} finally{
}

updateStatusDAO.updateStatus("Reading Completed");

// Process File
try{

} catch(Exception e){
throw new Exception();
} finally{
}

updateStatusDAO.updateStatus("File Processing Completed");

// Rename File
try{

} catch(Exception e){
throw new Exception();
} finally{
}

updateStatusDAO.updateStatus("File Rename Completed");

updateStatusDAO.updateStatus("Processing Completed");


} catch(Exception e){

} finally{

}

事情是这样的,假设由于某种原因文件处理失败。然后我需要将状态更新为阅读完成。未完成文件处理。我添加如下,

  1. 如果在 ReadFile/Process File 上发生任何异常,我将抛出异常,然后不会发生进一步的更新。

有没有其他更好的方法来处理这种情况。 ?

最佳答案

您可以考虑使用 Finite State Machine .每个步骤完成后,您将进入下一步。如果任何步骤失败,您将进入错误状态(您需要创建)。错误状态总是会自行推进,直到错误得到解决(也许错误的解决可能包括另一组步骤/状态,或者解决可能需要手动修复,您只需在修复后重置机器它)。每个步骤都有自己的任务,并且独立于其他步骤的工作。

关于java - 处理以下场景的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33611307/

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