Czy interfejs repozytorium powinienen zwracać wartość już opakowaną
w np. Mono
czy powinno zwrócić czystego
usera?
interface TestRepository {
User load(String name);
}
interface TestRepository {
Mono<User> load(String name); // albo CompletableFuture<User> czy cokolwiek w tym stylu
}
Przykładowe implementacje
class MongoTestRepository implements TestRepository {
private final Mongo mongo;
Mono<User> load(String name) {
return mongo.findOne(name); //zwraca od razu mono
}
}
class InMemoryTestRepository implements TestRepository {
private final Map<String, User> users;
Mono<User> load(String name) {
return Mono.just(users.get(name));
}
}
Tylko teraz gdy mam reaktywnego drivera od mongo nie widze sensu żeby te dane odpakować
, żeby znowu za chwile je zapakować
.
Czyli powinienem nawet implementacje InMemory
opakowywać
w Mono
?