Des*_*PRG 2 oop design-patterns
GOF编程语言中描述的所有设计模式是否独立?通过编程语言我的意思是任何OO语言.
我看到有人在谈论PHP设计模式,C++设计模式等等.我想通过为编程语言添加前缀,他们通过利用该特定语言特有的功能,特别指出适用于该特定语言的设计模式.
这让我对GOF模式感到好奇.书中的所有模式都保证适用于任何OO语言吗?换句话说,如果我使用Java掌握GOF书中的设计模式,然后如果我必须使用另一种OO语言,我还能实现所有这些模式吗?
duf*_*ymo 13
是的,它们应该是针对常见的面向对象编程问题的散文描述.他们不依赖任何语言.
证明是1995年出版的书中的例子是C++和Smalltalk,这是当时两种领先的面向对象语言.它们已被Java和C#翻译和改编,这两种语言在本书首次出版时甚至不存在.
"保证"太强了.
你要避免的一件事是"带锤子的小男孩"综合症.在第一次阅读该书之后,每个人都会遇到这样的情况:他们四处寻找实现模式的方法,无论它们是否适合.
您的目标应该是编写最清晰,最干净,最易读的代码.不要担心模式.
我已经读过,功能程序员嘲笑设计模式,说它们是面向对象编程缺陷的创可贴,而这些缺陷并不存在于其他语言中.我不是一个足够好的功能程序员来知道这是否属实.