QuestPDF 创建领域专用语言(DSL)
现有的流式 API 提供了一种清晰且易于理解的方式来描述文档的结构。在编写文档时,你可能会发现许多部分使用了相似的样式,例如边框或背景。特别是当你需要维护文档一致性时,这种情况尤为明显。为了使未来的修改变得更简单,你可以将这些重复的样式代码提取到单独的扩展方法中。这样,你可以在不增加代码复杂性的情况下,为文档结构赋予有意义的名称。
下面的例子中,我们将创建一个简单的表格,其中标签单元格有灰色背景,值单元格有白色背景。首先,我们来创建相应的扩展方法:
现在,你可以使用新创建的领域专用语言(DSL)来构建表格:
这个例子会生成以下输出:
请注意,此示例仅展示了如何使用扩展方法构建自定义 API 元素的概念。你可以利用这种方法构建和重用更复杂的结构。例如,扩展方法可以接受参数。