如Peter Norvig所示,一些设计模式在动态语言中是“不可见的”或更简单。
http://www.norvig.com/design-patterns/design-patterns.pdf
此外,还有一些语言功能(在很大程度上)取代它们。
http://www.c2.com/cgi/wiki?AreDesignPatternsMissingLanguageFeatures
在引入最新版本的Java(Java 8),C#(C#3)和C ++(C ++ 11)之后,常用的OOP语言成为(部分)函数式语言。正如另一篇文章所述:
https://stackoverflow.com/a/328146/1987258
“但是,大多数特定于OOP的设计模式在函数式语言中几乎无关紧要。”
因此,我想知道在引入新语言功能之后,哪些OOP特定的设计模式现在与C ++,C#和Java无关。然后,我们应该清楚哪些设计模式应该继续教给新开发人员。