表达式构建器

一个对象或一组对象,在普通命令查询 API 上提供流畅的接口。

API 通常设计为在对象上提供一组独立的方法。理想情况下,这些方法可以单独理解。我称这种 API 风格为命令查询 API;它非常普遍,以至于我们没有一个通用的名称来称呼它。DSL 需要一种不同类型的 API,我称之为流畅接口,它旨在提高整个表达式的可读性。流畅接口会导致单独意义不大的方法,并且经常违反良好命令查询 API 的规则。

表达式构建器在常规 API 之上提供一个单独的层,作为流畅接口。这样,您就拥有两种类型的接口,并且流畅接口被清晰地隔离,从而更容易理解。

有关更多信息,请参见DSL 书籍第 32 章。我的 bliki 上也有一篇简短的讨论

DSL 目录