【问题标题】:Are there any design patterns in dynamic or function-based languages [closed]动态或基于函数的语言中是否有任何设计模式[关闭]
【发布时间】:2016-11-20 10:49:42
【问题描述】:

C++ 和 Java 有很多设计模式需要遵循。 lisp 或类似方案的语言有类似的概念吗?

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

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

【问题讨论】:

标签: design-patterns scheme lisp


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    相关资源
    最近更新 更多