Java

使用 Object Algebra 改善解释器代码设计

什么是 Object Algebra 我也不谈 F-Algebra, Church-encoding, initial/free algebra 的那一套理论了,我也不会。这里就扯一些具体的东西吧。 这里要讲的 Object Algebra 是一种类似于抽象工厂的东西。不同在于,抽象工厂提供的是具体的类型/接口而 Object Algebra 提供了更强大的抽象能力。通过 Object Algebra, 可以将 Expression Problem 中的定义和实现进行完全的解耦,而仅仅需要面向对象语言中常见的部分语言特性。 什么是 Expression Problem