这个模式主要是将三个以上的method串起来
技巧体现在action类中的method可以串起来执行。
我觉得和chain模式异曲同工,都是讲一系列的动作串起来执行。
注意下面代码中,action类中除了结束method之外其他的method返回值。
具体是使用chain还是使用chaining_method,个人觉得都可以解决此类问题了。
class Person(object): def __init__(self, name, action): self.name = name self.action = action def do_action(self): print(self.name, self.action.name, end=' ') return self.action class Action(object): def __init__(self, name): self.name = name def amount(self, val): print(val, end=' ') return self def stop(self): print('then stop') if __name__ == '__main__': move = Action('move') person = Person('Jack', move) person.do_action().amount('5m').stop() ### OUTPUT ### # Jack move 5m then stop