Can anyone please explain to me what "Multiparadigm design pattern(s)" term means? I'm OK with "design patterns" but the word "multiparadigm" confuses me.
2 回答
在编程的上下文中,“范式”通常指的是面向对象的、过程的、功能的、逻辑的等。所以“多范式”指的是与几个范式的特征有关的东西。例如,Scala 是一种支持面向对象和函数式编程的多范式语言。
短语“多范式设计模式”可能没有特定的技术含义;只是有人在谈论他们希望将其描述为多范式的设计模式。也许是一种使用来自多个范式的技术的设计模式?要详细说明该描述的确切含义,我需要查看更多上下文,而不仅仅是这三个词。
对于这个问题的另一个看法,我推荐你参考 James Coplien 在他关于 C++ 多范式设计的工作:http ://www.amazon.co.uk/Multiparadigm-Design-James-O-Coplien/dp/0201824671
在其中,他讨论了各种各样的抽象方法,包括模板(类似于 Java/c# 中的泛型)、泛型函数、过程、对象和函数范式。这项工作的重点是分析领域以发现最适合的范式 - 尚未建立的范式。
在构思解决方案时,对几种范式有扎实掌握的程序员将有更多选择。有些问题非常适合多态性、继承等问题,其他问题则更优雅地使用函数概念或泛型编程构建。更大的系统可能会受益于可以很好地混合这些模块的模块。任何需要准确的数学密集型内容,我可能会首先考虑功能性,但最重要的是 UI?OOP 最有可能。
许多语言现在是多范式的:Java 主要是 OOP,但现在有泛型,版本 8 有 lambdas - 函数式构造。C#/Vb 拥有这些功能已经有很长时间了,而 F# 首先将其转变为功能性。