面向对象OO与DSL - typeswitch


OO 是通过本体语言对领域进行建模:
你建立了一个类层次结构,使用组合和继承。这构成了一种隐含的、开放的 DSL。
 许多 OO 建模感觉就像试图提出名词和动词(类和方法)以使问题域更易于访问,这隐含地形成了一种特定于域的语言。它是一个“开放”的 DSL,因为它与外部的事物交互并且是可扩展的。
与典型的 FP函数式建模方法进行比较,FP则是创建一个明确的、封闭的 DSL。

OO是 ad-hoc 多态性的一种实现,您可以通过公共接口将特定行为与特定类型相关联。
OO方式是将行为与实现此接口的固定参数(“this”)相关联。