工作流:工人为你工作7天,回报为一根金条...


本来想写一个规则引擎的例子,没想到写成了交易流程...

代码下载 http://files.cnblogs.com/foundation/fjlc.rar

本来想写一个规则引擎的例子,没想到写成了交易流程...
----------------------------------------------------------------------------
原题:

工人为你工作7天,回报为一根金条,必须在每天付给他们一段,且只能截2次,你将如何付费?

分割方法:   1,2,4

第1天:给工人1  
第2天:给工人2,工人给你1  
第3天:给工人1,  
第4天:给工人4,工人给你2+1  
第5天:给工人1  
第6天:给工人2,工人给你1  
第7天:给工人1

分析,这道题是如何用最小的分割方式完成流通,扩展一下就是

工人为你工作N天,回报为一根金条,必须在每天付给他们一段,如果用最小的截取方式付费
(注:这里不考虑叠加在一起切,访类问题在用工作流作任务分解,资源分配时比效常见)
--------------------------------------------------------------------------------
流程设计:

100001.JPG

启动流程代码



None.gif     class  Program
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
static void Main(string[] args)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif
InBlock.gif
InBlock.gif                
int days = 7;  //指定天数
InBlock.gif
                Dictionary<stringobject> v = new Dictionary<stringobject>();
InBlock.gif                v.Add(
"Days", days);
InBlock.gif                WorkflowInstance instance 
= workflowRuntime.CreateWorkflow(typeof(分金流程.Workflow1), v);
InBlock.gif
InBlock.gif                instance.Start();
InBlock.gif
InBlock.gif                System.Console.Read();
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

结果

100002.JPG

天数可以自定义,下面是15天的结果

100003.JPG






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值