3

As shown by Peter Norvig, some design patterns are "invisible" or far simpler in dynamic languages.

http://www.norvig.com/design-patterns/design-patterns.pdf

Moreover, there are language features that (to a high extend) replace them.

http://www.c2.com/cgi/wiki?AreDesignPatternsMissingLanguageFeatures

After the introduction of recent versions of Java (Java 8), C# (C# 3) and C++ (C++11), the commonly used OOP languages became (partially) functional languages. As explained in another post:

https://stackoverflow.com/a/328146/1987258

"However, it's correct that most OOP-specific design patterns are pretty much irrelevant in functional languages."

Therefore, I would like to know which OOP specific design patterns are now irrelevant for C++, C# and Java after the introduction of new language features. Then, it will be clear which design patterns we should keep on teaching to new developers.

Community
  • 1
  • 1
Daan
  • 2,478
  • 3
  • 36
  • 76
  • Do the patterns have to be irrelevant in all three languages or can one pattern be irrelevant in one language because the one language has been upgraded? – Thomas Matthews Mar 25 '14 at 23:55
  • If a pattern became irrelevant in just one of these languages, please share it as well. – Daan Mar 25 '14 at 23:59
  • I'd say the Observer pattern is pretty much replaced by the C# `event`. – itsme86 Mar 26 '14 at 00:39

0 Answers0