【FP】一个例子

原创 老姚 随笔 我也来说说系列 441阅读 2017-05-03 15:36:22 举报

本文例子来自《Functional Programming in JavaScript》第一章。

一个咖啡store的例子,展示不同种类和不同尺寸的coffee价格。
比较容易想到的实现方式是:
html 代码

问题很多,自然不必多说,比如一旦size变多,就得增加if else。

书中给出的函数式写法:
html 代码

首先得说,代码量确实很大。OOP和FP结合得很好。这里关于混入,在书中第7章有很好的论说。
通过混入的方式来实现原型继承。

我想到的另外一种写法是,对象间的混入:
html 代码

方式2,直接指定原型,此时没有9个对象,有局限性。
html 代码

当然也有其他的方式,行为委托或者策略模式来做 ,二者都是委托
因为原型的本质就是委托。所以这里不再赘述。

本文完。

评论 ( 6 )
最新评论
老姚 4F 2017-05-04 15:18:00 6F

方法3,没有了类的概念。

老姚 3F 2017-05-04 15:17:06 5F

哈哈,我争取把书中的第7章,翻译一下,届时请关注。

ququ 2017-05-04 15:12:53 4F

第二段代码和第三段代码只看出了代码的不同
求教思想的不同

hugeannex 2F 2017-05-03 17:09:16 3F

同感。

Alr_song 2017-05-03 16:16:35 2F

看完觉得 还是加个if else 简单点

Alr_song 2017-05-03 16:13:11 1F

听说有个沙发