首页 > 解决方案 > 在运行时构建不同执行步骤的设计模式

问题描述

我有一个类,它有 N 个内部使用的方法,这些 N 个方法可以在其他执行方法中以随机顺序组合。

class DummyOperator:
    def step_1(self):
        pass

    .....
    
    def step_n(self):
        pass
    
    def execute_1(self):
        self.step_1()
        self.step_5()
        self.step_9()
        self.step_2()
    
    .....
    
    def execute_m(self):
        self.step_7()
        self.step_6()

在其他一些文件中,根据配置文件调用这些执行方法之一

main.py

conf_value = get_value_from_config()
obj = DummyOperator()
execute_method = None
if conf_value == 'param_1':
    execute_method = obj.execute_1
....
if conf_value == 'param_m':
    execute_method = obj.execute_m
    
execute_method()

执行方法的数量很大并且增长很快但是这个类的分解不方便的问题,因为这N个方法适合这个逻辑实体。系统也有一堆这样的类。
你能告诉我设计这种架构的更好方法是什么,以及在运行时如何动态地构建 Operator 类的执行方法?

标签: pythondesign-patterns

解决方案


推荐阅读