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

时间:2015-04-26 16:32:23

标签: oop design-patterns

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

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

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

1 个答案:

答案 0 :(得分:13)

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

证据是1995年出版的书中的例子是C ++和Smalltalk,这是当时两种领先的面向对象语言。自从Java和C#翻译和改编以来,这两种语言在本书首次出版时甚至不存在。

"保证"太强大了。

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

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

我是read,功能性程序员嘲笑设计模式,说他们是面向对象编程缺陷的创可贴,而这些缺陷并不存在于其他语言中。我不是一个足够好的功能程序员,不知道这是不是真的。