有人可以帮助我了解是否有更好的方法在子类中强制执行注入策略(来自常用策略列表)。请在下面找到示例代码。
我并不完全相信将这些策略包装为静态方法并在基类中将策略的值提供为 None 。这是因为这里没有执行策略注入,并且使用继承解决这个问题看起来并不自然/明显。
我能以更好的方式实现这一目标吗?
def strategy1():
print("strategy1")
def strategy2():
print("strategy2")
class Base():
strategy = None
class Child1(Base):
strategy = staticmethod(strategy1)
class Child2(Base):
strategy = staticmethod(strategy2)
class Child3(Base):
strategy = staticmethod(strategy1)
Child1.strategy()
Child2.strategy()
Child3.strategy()
我的主要要求是
跨继承层次结构的代码(策略)重用
强制子类在覆盖基类时注入这些策略。
汪汪一只猫
相关分类