工作流:工人为你工作7天,回报为一根金条...
本来想写一个规则引擎的例子,没想到写成了交易流程...
代码下载 https://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天,回报为一根金条,必须在每天付给他们一段,如果用最小的截取方式付费
(注:这里不考虑叠加在一起切,访类问题在用工作流作任务分解,资源分配时比效常见)
--------------------------------------------------------------------------------
流程设计:
启动流程代码
class Program
{
static void Main(string[] args)
{
using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
int days = 7; //指定天数
Dictionary<string, object> v = new Dictionary<string, object>();
v.Add("Days", days);
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(分金流程.Workflow1), v);
instance.Start();
System.Console.Read();
}
}
}
{
static void Main(string[] args)
{
using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
int days = 7; //指定天数
Dictionary<string, object> v = new Dictionary<string, object>();
v.Add("Days", days);
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(分金流程.Workflow1), v);
instance.Start();
System.Console.Read();
}
}
}
结果
天数可以自定义,下面是15天的结果