顺便说一句,如果我从函数中对对象属性进行外部引用,是否会损害参照透明度?
答案 0 :(得分:1)
不要将此视为一种对另一种范围施加限制的范式,而是如何才能充分利用这两种范式。
举个简单的例子:
对象具有可以在对象内部的功能。现在,内部函数可以在对象中不可变,并且函数的结果可以用于更改对象的状态。
在不同的层面思考,可以使用函数来创建可供对象使用的库。
我喜欢如何充分利用两者是因为我倾向于使用函数式语言为更抽象的处理创建库(模块),然后将OO语言用于更接近人类和外部处理的层。这不是一个严格的规则,而是我从哪里开始的准则。