日期:2014-05-20  浏览次数:20973 次

说说工作流
其实我没有什么问题,只是有些感想不吐不快。

我花了两周多的时间熟悉了 .NET3 的工作流。并把我的一个旧程序改写成工作流来完成。

其间的感触颇多,归纳成广告语就是

开发者的福音,使用者的噩梦——微软.NET3工作流

  对于开发者而言,微软工作流的确是不折不扣的福音,我认为这是软件工程技术的巨大进步。相当于把程序框图变成了软件工程项目的最终步骤,大大节省了开发时间。而且由于程序框图显著的逻辑清晰的特点,使得软件维护变得极其容易。

  我在把旧程序改写成工作流的时候发现我原来的程序竟然隐藏着两个危险的逻辑BUG,如果输入数据的排列成某种特殊的情形时将导致数据丢失。而且我在过去十几次代码维护中都没有发现这个错误。我惟有庆幸过去原数据没有排列成那种情形。

  但是对于最终用户而言,运行工作流程序是一件极其痛苦的事情。我的旧程序典型的完成时间是15秒,而用同一语言同一平台写出的逻辑几乎完全一致的等价的工作流程序的完成时间却高达 24分钟。由此可见工作流的效率实在是太差了,差了近百倍啊!漫长的等待真会把人等疯的。

  不管怎样,对程序员来说工作流毕竟是个好东西。我虽然不愿意别人用工作流开发软件给我用,我却非常愿意用工作流开发软件给别人用。而且工作流也是学生学习软件开发的好平台。

------解决方案--------------------
我不知道你的工作流如何设计。不过,一般人的工作流程序都非常死板,因此非常不值得使用工作流。哪有将简单的计算方法程序用工作流来写的?!

实际上工作流适合的程序,它的每一个动作本来就是较长时间的。那种多人参与、多阶段决策树类型的程序,例如一个有着几十个分公司的集团公司的财务预算的任务下达和汇总流程,一个周期可能需要60天,用工作流岂不是很适合。
------解决方案--------------------
探讨
我不知道你的工作流如何设计。不过,一般人的工作流程序都非常死板,因此非常不值得使用工作流。哪有将简单的计算方法程序用工作流来写的?!

实际上工作流适合的程序,它的每一个动作本来就是较长时间的。那种多人参与、多阶段决策树类型的程序,例如一个有着几十个分公司的集团公司的财务预算的任务下达和汇总流程,一个周期可能需要60天,用工作流岂不是很适合。