【发布时间】:2018-07-05 21:32:53
【问题描述】:
我的代码 (Java) 中有一个模式,如下所示:
private M<State2> augmentFromDS3(M<State1> state1) {
return state1.flatMap(this::transform1);
}
private M<State3> validatePersonType1(M<State2> state2) {
return state2.flatMap(this::transform2);
}
private M<State2>
transform1(State1 state1) {
}
private M<State3>
transform2(State2 state2) {
}
还有一个叫map的版本。
感觉这里有一个以前发现过的功能模式(如 monad 转换器、comonad 等)。但是,我不知道我认为存在的那种东西叫什么名字。
【问题讨论】:
-
这只是您已经在使用的
flatMap的类型吗?具有这种功能的函子称为 monads :-)