Представление читателя Monad для распространения первоначального запросаJAVA

Программисты JAVA общаются здесь
Anonymous
 Представление читателя Monad для распространения первоначального запроса

Сообщение Anonymous »

Я использую Java. Я построил небольшую библиотеку для внутреннего использования.
Идея связана с F «Железнодорожное программирование: разработка конвейера путем сочинения функций < /p>
1. Основной блок < / Strong> < /p>
@FunctionalInterface
public interface FonctionMetier {
Result invoke(R request);

default FonctionMetier andThen(FonctionMetier after) {
return req -> this.invoke(req).flatMap(r -> after.invoke(r);
}
{
< /code>
2. Создание

Я могу составить небольшой трубопровод, используя этот шаблон. Но при строительстве более сложных трубопроводов я сталкиваюсь с проблемой, которая все еще имела доступ к исходному входу без «разбивания» трубопровода, вызывая функцию и заново запустив другую подпроката < /p>
Иметь эти функции: < /p>
FonctionMetier step1 = input -> Result.success(input.length());

FonctionMetier step2 = length -> Result.success(length > 5);

FonctionMetier step3 = isLong ->
Result.success(isLong ? "Long" : "Short");
< /code>
И я хотел бы построить конвейер, но в корпусе третьей функции все еще есть доступ к вводу первой функции. < /p>
< Strong> Решение 1: Я могу иметь эффект снежного кома, когда каждый шаг производит объект, который является входом следующего шага и определяется всеми данными, необходимыми вдоль трубопровода.
Решение 2: я подумал о том, чтобы обернуть фонкцион в читателе, который должен обеспечить контекст выполнения. Я не могу найти уловки, чтобы сделать это возможным:/ Я не знаю, возможно ли это, и я не знаю, как это сделать или это тупик. Я хотел бы сохранить ответственность отдельными
Точно так же, как я думал о добавлении оператора контрамапа позже, чтобы узнать его, но сначала сначала: трубопровод: D

Подробнее здесь: https://stackoverflow.com/questions/794 ... al-request

Вернуться в «JAVA»