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.