是否有任何动态或基于函数的语言的设计模式

Are there any design patterns in dynamic or function-based languages

C++ 和 Java 有很多设计模式可以遵循。 lisp 或 scheme like 语言有相似的概念吗?

C++/Java使用的许多设计模式都与OOP有关。 lisp 有 CLOS,所以我想我们可以遵循 CLOS 的 C++ 设计模式。

但是,在 lisp 中,我们也可以编写带有函数的代码,并使用动态特性(例如 eval)。我们有适合他们的设计模式吗?

设计模式或多或少与语言无关,更像是一种算法。 lisp 风格的语言也有模式,如果它们足够频繁,他们可能需要一个宏来减少样板文件。

Wikipedia page about design patterns 中提到,Peter Norvig 证明了设计模式一书中(主要针对 C++)的 23 种模式中的 16 种是简化的 或在 Lisp 或 Dylan 中消除(通过直接语言支持)。

也许 reading his paper 会更清楚地说明这个问题。