如何避免Windows Workflow(WF)中的名称?

如何避免Windows Workflow(WF)中的名称?

问题描述:

我刚开始使用WF,而我发现真的很烦人的是,你必须命名 这么多事情。国际海事组织(IMO),程序员每天处理的最困难的事情之一就是为事物建立良好的名称,而WF似乎将此置于极端。如何避免Windows Workflow(WF)中的名称?

以WF IfElse活动为例。如果我生在C#(不使用WF)编码本,它会是这个样子:

if(x == 0) 
{ 
    // ... 
} 
else if(x < 10) 
{ 
    // ... 
} 
else if(x < 100) 
{ 
    // ... 
} 
else 
{ 
    // ... 
} 

现在上面的C#代码是简洁明了。相反,如果我要定义一个使用IfElse活动执行相同操作的Windows Workflow,首先要关闭,如果要阻止

  • ifXEquals0
  • ifXLessThan10
  • ifXLessThan100

最重要的是,我将不得不名称每个条件在每一个if语句: 例如

  • xEquals0
  • xLessThan10
  • xLessThan100

这不仅繁琐,而且很难维护(例如,如果情况发生变化),而且容易出错(你忘了更改名字的时候病情变化) 。

问题(根据我所知道的),WF将每个编程结构分解为工作流的属性,需要一个名称。

现在,因为我还在学习WF,而且我不想听起来像知道这一切...我想问你们这些人。难道我做错了什么?创建WF工作流程时有没有办法避免这个名称?这是Windows WF特有的东西,还是其他工作流引擎遭受同样的事情?

的问题(从我可以告诉)是 是WF打破了所有的编程 建设成为 工作流程,它需要一个名称的属性。

其实,你需要有不同名称的原因是因为在您的工作流程所代表的是if-else语句的每一部分实际上是一个个人IfElseBranchActivity,不只是工作流的财产,因此必须是唯一命名。

就维护而言,请看一下使用规则集来帮助实际布尔测试本身。这可能会使以后更容易修改。