[1] 涌现性(emergent properties),说的是多个要素组成系统后突变出系统组成前单个要素所不具有的性质,有的也称作突变性。推荐阅读另一篇文章《Functional Programming and Emergence》(链接太长,建议搜索) 。
[2] 引用透明性,即在相同的输入情况下,在任何时间和空间情况下,运算结果都是一致的。
[3] Mock Roles, not Object:http://jmock.org/oopsla2004.pdf
[4] 感觉翻译得一般,附上原文“in object-oriented systems this style often yields better results with domain model development (i.e., where collaborations serve to break down the complexity of business rules) than with user-interface development.”我能理解从研发协作的角度,一般还是优先从领域模型开发角度出发,尤其对于复杂的业务场景下会更加直观。但是,我没太理解为什么要再和用户界面开发相比较。可能是因为用户界面开发的业务模型相对简单,更适合直接从函数式编程思维去着手。
[5] 基本是直译了,感觉中文读起来不是非常很直观。原文是“Your object systems (for one) will resonate with referential transparency goodness and be much closer to their functional counterparts than many would have you believe.”