有人可以解释这里提到的策略元类的目的

时间:2018-06-09 18:14:03

标签: python python-3.x design-patterns metaclass

无法将示例链接到标题,因此这里是:Python strategy design pattern example

1 个答案:

答案 0 :(得分:0)

首先让我们看看战略模式的基本概念。它真正说的是开发一些可以在运行时切换的算法(函数/方法/代码片段)。

如果我们使用OOP支持的语言(Java,Python),大多数时候,我们可以使用 运行时多态性 来实现策略模式。在您的示例中,它还显示了如何以这种方式实现此目的。

无需与元类的概念混淆。它是一个特定于python的术语,用于定义Python的类对象。如果你想在python中更多地了解元类,那么one就是一个很好的答案。

在您的示例中,元类的概念与策略模式实现并不完全相关。它只是用于将Strategy类标记为抽象类。即使没有该部分,您也可以开发您的程序。并且它对战略模式实施的想法没有任何损害。