0

假设我需要为博客站点添加生成 RSS/Atom 提要。我正在考虑“Feed Monad Interpreter”模式。也就是说,我将定义一个带有原语的 DSLBlogBlogPosta Free monad,它只是这些原语的树,以及将Free monad树转换为 XML 的 RSS/Atom “interpeters”。

是否有意义 ?

4

2 回答 2

1

不是真的,因为 XML 不是一种解释;它是一种数据结构,它具有指称而不仅仅是操作语义[1]。因此,您可以定义您的原语,并拥有它们的树,并将该纯树转换为...另一个表示 XML 的纯树。不需要monad,这可以只是一个纯粹的数据转换。

[1] 假设我正确理解了这些术语

于 2015-01-12T15:55:27.423 回答
1

通常,我建议只使用模板系统和输出 (XML) 字符串,而不是创建和转换 XML 文档,这在此用例中可能会非常昂贵且收益甚微。

确保您有一个测试套件来解析生成的 XML 字符串,以确认它是有效的并且不会破坏人们消费提要的内容,但除此之外,模板应该更好地工作!

于 2015-01-13T08:53:01.827 回答