前言
为了清楚起见,请记住,副作用不是必需的坏事,有时副作用是有用的(尤其是在函数式编程范式之外)。
今天聊一聊函数式编程中的隔离思想,它所想隔离的就是“副作用”
我们先从其他角度来聊一聊副作用这个概念。
生活中的副作用
如果我听到副作用这个词后,第一反应是吃药? 。
老话说是药三分毒,其中三分毒则为副作用。就比如你?感冒了,吃了一些西方某些国家研制的专利药品,然后感冒好了,但是感冒好了之后发现自己秃顶?? 了。
那么可以说秃顶就是这个感冒药的副作用。
我们来捋一下这个逻辑
感冒好没好? 答:好了
这药算不算感冒药 ? 答:算感冒药
不吃这个药的话感冒就不会好,吃不吃 ? 答:吃
副作用可不可以忍受 ? 答:至少本来就没头发可以忍
上面的副作用有些夸大其词了,但是药物一般来说都会有一些副作用。
那么话说回来,程序中呢?