四种设计模式的组合编程语言是否独立?

Are Gang of four design patterns Programming language independent?

GOF 编程语言中描述的所有设计模式都是独立的吗?我所说的编程语言是指任何 OO 语言。

我看到人们在谈论 PHP 设计模式、C++ 设计模式等等。我想通过给编程语言加上前缀,它们特别意味着通过使用特定语言独有的功能适用于该特定语言的设计模式。

这让我想知道 GOF 模式。本书中的所有模式都保证适用于任何 OO 语言吗?换句话说,如果我使用 Java 掌握了 GOF 书中的设计模式,然后如果我必须使用另一种 OO 语言,我是否仍然可以实现所有这些模式?

是的,它们应该是对常见的面向对象编程问题的散文描述。他们不依赖于任何语言。

证明是 1995 年出版的书中的示例是使用当时两种主要的面向对象语言 C++ 和 Smalltalk 编写的。它们已被 Java 和 C# 翻译和改编,这两种语言在本书首次出版时甚至不存在。

"Guaranteed" 这个词太强了。

您要避免的一件事是 "small boy with a hammer" 综合症。第一次阅读那本书后,每个人都会遇到这种情况:他们 运行 到处寻找实现模式的方法,无论它们是否适合。

您的目标应该是尽可能编写最清晰、最干、最易读的代码。不要担心模式。

read 函数式程序员嘲笑设计模式,说它们是解决面向对象编程中其他语言中不存在的缺陷的创可贴。我不是一个足够好的函数式程序员,不知道这是不是真的。