Резюме дизайн шаблона для Java - PullRequest
0 голосов
/ 28 декабря 2018

Я выполняю задачу, в которой мне нужно выполнить 5-6 шагов, и если мой код не выполняется на каком-то шаге между ними, мне нужно повторить попытку с того же шага, на котором произошел сбой (эту информацию я поддерживаюв таблице БД), я могу решить эту проблему с помощью сложной проверки if-else, но я ищу какой-то стандартный или хороший способ решения этой проблемы.

1 Ответ

0 голосов
/ 28 декабря 2018

Я бы сохранил список подзадач и индекс, чтобы указать, где остановилось выполнение.Псевдокод:

public class Task {
    List<SubTask> subtasks;
    int executionIndex = 0;

    // ctor, getters, setters, etc...

    public void execute() {
         for (int i = executionIndex; i < subtasks.size(); ++i) {
             subtasks.get(i).execute();
             saveProgressToDB(i);
             ++exectionIndex;
         }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...