none
用WorkFlow(C#)开发工作流和自已写代码实现工作流两者有什么区别? RRS feed

  • 问题

  • 我的意思是这样的,
    以前做OA系统的时候都会涉及到流程审批的问题,例如请假单的审批等等。我以前的做法是自已开发一个流程自定义功能模块,然后不同的流程与对应的审批单据对应,这样用户在填写某一单据时,就会按指定的流程审批下去。其它控制方面问题也很好解决。
    现在如果用C#的 workFlow来做工作流,我理解它的原理是把工作流单独设计好后编译成DLL,然后供应用程序引用,这样以后每次修改流程只需更新DLL就可以,不知理解是否有错。
    如果采用这种方法开发工作流,就没办法在OA系统里面自定义流程。那不是比我上一种方法还不方便。所以一直理解不透微软WF应用的目的,上来请教?

    才疏学浅 欢迎拍砖
    2010年11月3日 14:01

答案

  • 但是,我们最终的目的是想让用来自定流程并将结果记录在数据库,如果采用DLL封装不是很难实现这个功能???

    用WF4来自定流程很方便啊, 你不需要把流程封装在DLL里, 你可以把自定义的活动放在DLL里,具体流程只要是XAML就可以了. 系统里可以用.Net提供的WF设计器,自定义流程或者修改流程都是比较方便的。
    This posting is provided "AS IS" and confers no rights or warranties.
    • 已标记为答案 Mog Liang 2010年11月25日 2:10
    2010年11月15日 2:09

全部回复

  • 你的方法看上去简单实际复杂,你的业务逻辑孤立在N个页面中难以维护.

    wf是把逻辑集中在一起与页面脱离保持松偶合,理想的状态是:wf就如同计算机的CPU,页面和输入框如同显示器和鼠标等,他们仅输入信息和显示CPU提供的信息.

    2010年11月4日 4:03
  • 但是,我们最终的目的是想让用来自定流程并将结果记录在数据库,如果采用DLL封装不是很难实现这个功能???
    2010年11月10日 8:05
  • 但是,我们最终的目的是想让用来自定流程并将结果记录在数据库,如果采用DLL封装不是很难实现这个功能???

    用WF4来自定流程很方便啊, 你不需要把流程封装在DLL里, 你可以把自定义的活动放在DLL里,具体流程只要是XAML就可以了. 系统里可以用.Net提供的WF设计器,自定义流程或者修改流程都是比较方便的。
    This posting is provided "AS IS" and confers no rights or warranties.
    • 已标记为答案 Mog Liang 2010年11月25日 2:10
    2010年11月15日 2:09
  • 你好,我现在在学习工作流,也想自己写个流程,弄个简单的工作流,而不是去整引擎的,想请教下你之前自己开发的经验,能不能帮我下。
    2013年12月19日 3:35
  • 我觉得微软的工作流有点像是定义业务流程
    例如 销售订单->销售出库
           销售订单->销售开票->销售出库

    那么我们可以在代码中去按照不同的条件进行业务的流转,这样的话我就可以根据我的销售单是否应该先开票再出库或者直接出库不开票进行定义,而你所说的自定义流程应该是指自定义审批流程,对于审批流程来说需要根据企业内部不同的角色进行定义,这样的话微软的工作流并不适用。
    个人浅见,如果有描述不对的地方请谅解。

    2017年12月13日 12:20
  • 我理解的工作流的本质,是流程定制化,但不是随意定制。举例,ERP中采购订单有过帐(Post)操作,Post之后就可以做GRN(收货),

    工作流调用系统中的已经写好的接口(Post,GRN),接口的实现则随着需求的变化变更,工作流运行时会分析出接口的实现,调用它,实现流程的可编程。

    流程的每个结点是可设定的,每个结点调用的逻辑方法也是分离的(可重写),我是这样实现中工作流。

    至于写代码还是自主开发,依照我理解的这个原则,是没有多少区别。WF提供了一套可扩展的架构和默认实现,这个对于系统后期扩展是有好处的。


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms


    2017年12月14日 1:02