Я работаю над проектом, который предоставляет список операций, которые должны быть выполнены на объекте, и каждая операция представляет собой вызов API для серверной части.Допустим, сущность - это файл, а операции - это преобразование, редактирование, копирование.Есть определенно более простые способы сделать это, но меня интересует подход, который позволяет мне связывать эти операции, подобно промежуточным операциям в потоках Java, и затем, когда я нажимаю на терминальную операцию, он решает, какой вызов API выполнить, ивыполняет любую оптимизацию, которая может потребоваться.Мои вызовы API зависят от результата других операций.Я думал о создании интерфейса
interface operation{
operation copy(Params ..); //intermediate
operation convert(Params ..); // intermediate
operation edit(Params ..); // intermediate
finalresult execute(); // terminal op
}
Теперь каждая из этих функций может влиять на другую, основываясь на последовательности, в которой создается конвейер.Мой высокоуровневый подход состоял бы в том, чтобы просто сохранить имя операции и параметры внутри отдельной реализации методов операции и использовать это для определения и оптимизации всего, что я хотел бы в методе execute.Я чувствую, что это плохая практика, поскольку технически я ничего не делаю внутри методов работы, и это больше похоже на шаблон строителя, хотя и не совсем так.Я хотел бы знать мысли о моем подходе.Есть ли лучший проект для построения рабочих конвейеров в java?
Извинения, если вопрос кажется расплывчатым, но я в основном ищу способ построить рабочий конвейер в java, в то время как мой подход рассматривается.