Назад к вопросам
Junior — Middle
64
Расскажите о своем опыте реализации паттерна Pipeline в проектах.
Компании, где спрашивали
Ви6 Сервисес
Ответ от нейросети
sobes.tech AI
Паттерн Pipeline позволяет организовать обработку данных в виде последовательности шагов, где выход одного шага становится входом для следующего. В Java я реализовывал Pipeline, используя цепочку вызовов методов или функциональные интерфейсы.
Например, для обработки коллекции данных можно создать цепочку функций:
import java.util.function.Function;
import java.util.List;
import java.util.stream.Collectors;
public class PipelineExample {
public static void main(String[] args) {
List<String> data = List.of(" one ", "two", " three ");
Function<String, String> trim = String::trim;
Function<String, String> toUpper = String::toUpperCase;
List<String> result = data.stream()
.map(trim.andThen(toUpper))
.collect(Collectors.toList());
System.out.println(result); // [ONE, TWO, THREE]
}
}
Такой подход упрощает добавление новых шагов и улучшает читаемость кода. В более сложных случаях можно создавать собственные интерфейсы Pipeline с методами для добавления этапов и выполнения всей цепочки.