Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 为什么AbstractFactoryUnit具有动态多态性而不是静态多态性? 我正在学习现代C++,关注当前的抽象工厂,从我理解的角度来看,洛基的主要思想之一是避免在GOF中使用的“虚拟”(动态多态)。但有时,它仍然被使用。在关于抽象工厂的一章中,AbstractFactoryUnit有“虚拟的”。从我目前所读到的,有很多方法可以绕过它_Design Patterns_Abstract Factory_Loki_Static Polymorphism - Fatal编程技术网

Design patterns 为什么AbstractFactoryUnit具有动态多态性而不是静态多态性? 我正在学习现代C++,关注当前的抽象工厂,从我理解的角度来看,洛基的主要思想之一是避免在GOF中使用的“虚拟”(动态多态)。但有时,它仍然被使用。在关于抽象工厂的一章中,AbstractFactoryUnit有“虚拟的”。从我目前所读到的,有很多方法可以绕过它

Design patterns 为什么AbstractFactoryUnit具有动态多态性而不是静态多态性? 我正在学习现代C++,关注当前的抽象工厂,从我理解的角度来看,洛基的主要思想之一是避免在GOF中使用的“虚拟”(动态多态)。但有时,它仍然被使用。在关于抽象工厂的一章中,AbstractFactoryUnit有“虚拟的”。从我目前所读到的,有很多方法可以绕过它,design-patterns,abstract-factory,loki,static-polymorphism,Design Patterns,Abstract Factory,Loki,Static Polymorphism,为什么在这种情况下使用virtual更有效?既然Loki的目标似乎主要是教育性的,我想说,为了清晰起见,静态多态性可能已经被避免了。在教授抽象工厂这样的设计模式时,类之间的关系是最重要的方面。在这种情况下,如何实现多态性似乎是第二个与实现相关的问题 诚然,静态多态性可能更有效,但它会降低代码的可读性 您可能会争辩说,如果您经常创建大对象,那么使用静态多态性将使您受益匪浅。这是非常正确的,但我认为洛基不应该在这种情况下使用。它的主要目的是教学 看看的源代码,这可能会有所帮助。事实上,我更愿意从Bo

为什么在这种情况下使用virtual更有效?

既然
Loki
的目标似乎主要是教育性的,我想说,为了清晰起见,静态多态性可能已经被避免了。在教授抽象工厂这样的设计模式时,类之间的关系是最重要的方面。在这种情况下,如何实现多态性似乎是第二个与实现相关的问题

诚然,静态多态性可能更有效,但它会降低代码的可读性

您可能会争辩说,如果您经常创建大对象,那么使用静态多态性将使您受益匪浅。这是非常正确的,但我认为洛基不应该在这种情况下使用。它的主要目的是教学


看看的源代码,这可能会有所帮助。事实上,我更愿意从Boost源代码中学习现代C++。诚然,据说Loki为Boost奠定了基础,但请记住Boost得到了更多的使用,因此受到了更多的评论和批评。

由于Loki的目标似乎主要是教育性的,我想说,为了清晰起见,可能已经避免了静态多态性。在教授抽象工厂这样的设计模式时,类之间的关系是最重要的方面。在这种情况下,如何实现多态性似乎是第二个与实现相关的问题

诚然,静态多态性可能更有效,但它会降低代码的可读性

您可能会争辩说,如果您经常创建大对象,那么使用静态多态性将使您受益匪浅。这是非常正确的,但我认为洛基不应该在这种情况下使用。它的主要目的是教学

看看的源代码,这可能会有所帮助。事实上,我更愿意从Boost源代码中学习现代C++。诚然,据说洛基为Boost奠定了基础,但请记住,Boost得到了更多的使用,因此受到了更多的评论和批评