gpt4 book ai didi

design-patterns - INTERPRETER 是反模式吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:56 24 4
gpt4 key购买 nike

对我来说,Interpreter 模式听起来很像称为 Greenspun 第十条规则的反模式:

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

也就是说,如果您需要使用 Interpreter,您可能会创建一些缓慢、临时且指定不当的东西。正确的解决方案是从一开始就使用正确的语言。

或者,或者,将一种众所周知且明确指定的语言嵌入到您的应用程序中,例如 Guile(GNU 可嵌入方案)。或者使用 Haskell 作为嵌入式领域特定语言。

但我还没有在实践中看到这一点——您在构建自己的嵌入式语言方面有什么经验?这是不是一个好主意?它比嵌入现有语言更好吗?

(我不是特别喜欢 lisp 的人。这很好,但 C 和 Haskell 以及 python 和许多其他语言也是如此。)

最佳答案

解释器模式中没有任何内容表明它必须是您正在解释的另一种编程语言的语法。如果您需要解析一个简单的数学表达式,那么解释器就是您的不二之选。

了解何时使用模式可以防止它成为反模式。

关于design-patterns - INTERPRETER 是反模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1020622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com