我在程序员那里看到了这个问题的答案:对设计模式和OOP实践的思考如何在动态和弱类型语言中发生变化?在那里,我找到了标题为直截了当的文章的链接:设计模式缺少语言功能。但是在我发现片段对我来说似乎很吸引人的地方,并且可以凭经验加以验证,因为这样做有诱因,例如:
PaulGraham说:“ Peter Norvig发现,设计模式中的23个模式中有16个在Lisp中是'不可见的或更简单的'。”
或另一句话证实了我最近在尝试使用JavaScript模拟类的人中看到的内容:
当然,没有人会说“功能”模式,“类”模式或我们认为理所当然的许多其他事情,因为大多数语言都将它们作为内置功能提供。OTOH,使用纯PrototypeOriented语言的程序员?可能会发现使用原型模拟类很方便...
我还考虑到设计模式是一种交流工具。因为即使我参与构建应用程序的经验有限,我也可以将其视为反模式(无效和/或适得其反),例如,这迫使一个小型PHP团队学习中小型Intranet App的GoF模式。我知道规模,范围和目的可以决定什么是有效的和/或富有成效的,但是我仍然没有找到有关这方面的技术概述。
我看到了一些小型的商业应用程序,它们将功能与OOP混合在一起并且仍然可以维护,并且我不知道是否有很多应用程序需要使用python编写单例,但是对我来说,一个简单的模块可以完成同样的事情。