Учитывая метод, я могу написать реактивный код двумя способами:
public String getString() { return "Hello, World"; }
или
public Mono<String> getMonoString() { return Mono.just("Hello, World"); }
, а затем использовать его с
someOtherPublisher.map( value-> getString() + value ).subscribe(System.out::println);
или
someOtherPublisher.flatMap( value-> getMonoString().map(str-> str + value ) ).subscribe(System.out::println);
Мой вопрос: лучше ли реагировать? Я утверждал, что дополнительные издержки на getMonoString
были хуже из-за накладных расходов и производительности, а другой утверждал, что иметь методы быть издателями и использовать .flatMap
было бы лучше, потому что это было «более реактивным».
Мне интересно найти какой-то авторитет в отношении того, почему один лучше или хуже другого или даже имеет ли это значение.
Очевидно, что я мог бы сделать несколько простых тестов, но иногда простые тесты могут быть неубедительными.