我想实现用于执行工作流的代码,但我想避免使用if-else语句链。我应该使用哪种设计模式?我看着其中的一些,但找不到合适的一个
工作流程示例。
A-> if(B) do C,
if(!B) do D-> E -> if(F) do G,
if(!H) do I-> J-> K
and so on..
在这里还要考虑的显而易见的选择是“责任链”。在这种情况下,CoR的问题有时是您真的不知道预先准备好的路径,因此布置所有可能的路径确实很麻烦。当然,您可以使用Builder来构建链(记住“四人帮”中所有迷宫构建示例)。
CoR的伟大之处在于,您的代码不会成为一个无能为力的典当对象,每个对象都无能为力地完成每个“步骤”。
同样,CoR提供了很大的灵活性。如果客户说“ OMG,缺少两个关键步骤”,那么有人可以添加它们而不会破坏很多其他内容。单源编排是原型神对象的反模式,因此也许从CoR开始,并计划在CoR用完时撤离。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句