柯里化和部分施用都在现实的编程世界中拥有一席之地。
函数工厂
柯里化(以及部分施用)适用于传统面向对象编程中会用到工厂方法的场合
函数工厂——Groovy实现的加法函数和递增函数
从adder()
函数派生出了incremmenter
函数。
Template Method模式
在固定的算法框架内部安排一些抽象方法,为后续的具体实现保留一部分灵活性。
部分施用技法注入当前已经确定的行为,留下未确定的参数给具体实现去发挥,其思路与模板方法这种面向对象的设计模式如出一辙。
隐含参数
当需要频繁调用一个函数,而每次的参数值都差不多的时候,可以运用柯里化或函数部分施用来设置隐含参数。
dbc
函数在操作数据的时候不需要再提供数据源,数据源已经自动设置好了。面向对象编程中“封装”概念的本质,也就是魔术般出现在每个函数里的隐含上下文this,可以在函数式编程中加以模拟,用柯里化的方式把this
传递给所有的函数,让this
在使用者的面前隐藏起来。
网友评论