Intent
Monad模式基于线性代数中的monad,表示将操作链接在一起,一条条执行的方式。绑定函数可以描述为基于“相同类型”将一个函数的输出传递给另一个函数的输入。形式上,monad由一个类型构造子M和两个操作组成: bind - 将 monadic 对象和一个函数从普通对象转换为 monadic 值并返回 monadic 值 return - 接受普通类型的对象并返回包装在一个monadic值中的对象。
Class diagram

Applicability
在以下情况下使用 Monad
- 当您想轻松执行链接操作时
- 当您想应用每个函数而不管它们中的任何一个的结果时
Credits