Gang是四种设计模式编程语言独立吗?

Des*_*PRG 2 oop design-patterns

GOF编程语言中描述的所有设计模式是否独立?通过编程语言我的意思是任何OO语言.

我看到有人在谈论PHP设计模式,C++设计模式等等.我想通过为编程语言添加前缀,他们通过利用该特定语言特有的功能,特别指出适用于该特定语言的设计模式.

这让我对GOF模式感到好奇.书中的所有模式都保证适用于任何OO语言吗?换句话说,如果我使用Java掌握GOF书中的设计模式,然后如果我必须使用另一种OO语言,我还能实现所有这些模式吗?

duf*_*ymo 13

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

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

"保证"太强了.

你要避免的一件事是"带锤子的小男孩"综合症.在第一次阅读该书之后,每个人都会遇到这样的情况:他们四处寻找实现模式的方法,无论它们是否适合.

您的目标应该是编写最清晰,最干净,最易读的代码.不要担心模式.

我已经读过,功能程序员嘲笑设计模式,说它们是面向对象编程缺陷的创可贴,而这些缺陷并不存在于其他语言中.我不是一个足够好的功能程序员来知道这是否属实.

  • 很棒的建议.在深入研究设计模式之前,了解如何利用"多态","组合","继承"等等更为重要. (4认同)