【发布时间】:2020-06-27 20:19:42
【问题描述】:
我是响应式编程的新手,我正在寻找在单个映射中执行多个任务的好习惯,或者我应该为每个单个操作创建单独的映射。
方法一
Mono.just(new Hashmap())
.map(m -> {m.put("One"); return m;})
.map(m -> {m.put("Two"); return m;})
.map(m -> {m.put("Three"); return m;})
方法二
Mono.just(new Hashmap())
.map(m -> {
m.put("One");
m.put("Two");
m.put("Three");
return m;
})
那么哪一个是最佳实践,特别是对性能的影响?
让我更清楚地定义它。我想知道在一个地图中输入多个目的代码的好习惯,或者我应该为每个目的创建地图,就像我有一个用户对象现在我想更新它的十个字段可能我二十个。
所以如果我使用单个地图,我的代码如下所示。
Mono.just(new User())
.map(user -> {
user.setFirstName("abc");
user.setMiddleName("abc");
user.setLastName("abc");
user.setEmail("abc");
user.setAddress("abc");
// setting twenty more fields.
return user;
});
或者我应该像这样在单独的地图中完成每个任务
Mono.just(new User())
.map(user-> {user.setFirstName("abc"); return user;})
.map(user-> {user.setMiddleName("abc"); return user;})
.map(user-> {user.setLastName("abc"); return user;})
//twenty more map function called to set each property
最佳做法是什么?
【问题讨论】:
-
我不太了解您对
map的用法,我通常会使用它来将现有类型T映射到R,但不会修改现有实例。在这种情况下,我只需用所有值预填充Map并返回其中的Mono.just。 -
也许您可以为您的问题添加更多说明。
-
我已经更新了我的问题,请看一下
-
为什么你认为反应式编程在这里会有所帮助?填充地图的好习惯是直接填充,完全不使用反应式编程。
标签: java spring reactive-programming spring-webflux project-reactor