这样做的设计模式是什么?

dr.*_*vil 3 workflow design-patterns

我有一个类似工作流的过程,假设它是这样的:

  1. 准备
    • 拿你的东西到垃圾箱
    • 清理桌子

现在我想要做的是甚至用户取消"吃"事件,我希望他们"清理桌子"同样适用于"准备"和"把你的东西带到垃圾箱"阶段.

目前在我的实现中,我不得不做几次检查,有时我最终会调用两次"清理表",以及当我添加几个步骤时其他一些分支问题.

有没有明确定义的设计模式来处理这种流程?(AFAIR有一个我不记得它的名字.)

Mat*_*nze 11

这是通过State模式解决的.如果你测试驱动逻辑它将顺利进行.


ega*_*aga 7

听起来像模板方法模式.

或者你可以通过构图和策略模式来做到这一点.

如果你开始有复杂的逻辑,那么State模式可能会更好.