none
工作流在三层结构的应用设计问题 RRS feed

  • 问题

  • 项目进入工作流引擎以后,多了一个工作流的逻辑操作和数据层操作,以前只有BLL和DAL,那现在工作流和BLL,DAL 该如何摆放和设计呢,哪些逻辑放到BLL里面,哪些逻辑放到工作流里面呢,各位大侠哪位指导一下呢?


    leo
    2009年3月23日 8:03

答案

  • Hi,
    如果条件允许的话,我建议工作流里尽量不要添加许多业务逻辑,如果你的BLL中不可避免的需要包含业务逻辑的话,再将业务逻辑分散到工作流中可能会造成日后维护的麻烦。
    可以把逻辑仍然保留到BLL中,但要重构一下BLL,使其成为工作流的本地服务,然后工作流就可以使用CallExternalMethod这样的活动来调用BLL中的方法了。

    My blog: http://xiaoshatian.cnblogs.com
    • 已标记为答案 LeoChu 2009年3月27日 1:30
    2009年3月24日 0:50
    版主
  • 楼主,你好

    我觉得工作流还是仅仅用来表示流程的运行就可以了。至于具体怎么做还是交给BLL来做要好点。
    就是说工作流只是一个用来判断流程该怎么走,具体的还是靠BLL。这是我的理解。

    Microsoft Online Community Support
    • 已标记为答案 LeoChu 2009年3月27日 1:30
    2009年3月25日 3:57

全部回复

  • Hi,
    如果条件允许的话,我建议工作流里尽量不要添加许多业务逻辑,如果你的BLL中不可避免的需要包含业务逻辑的话,再将业务逻辑分散到工作流中可能会造成日后维护的麻烦。
    可以把逻辑仍然保留到BLL中,但要重构一下BLL,使其成为工作流的本地服务,然后工作流就可以使用CallExternalMethod这样的活动来调用BLL中的方法了。

    My blog: http://xiaoshatian.cnblogs.com
    • 已标记为答案 LeoChu 2009年3月27日 1:30
    2009年3月24日 0:50
    版主
  • 你好,我现在的情况是,在Web页面调用WCF服务启动一个工作流实例,然后再通过Web页面调用WCF触发工作流的事件改变他的状态,基本上是激发工作流的事件,在工作流里面调用DAL的方法.如果按照你的意思,我应该是把工作流放在BLL之上,由Web页面或是WCF调用吗? 我不是很明白,非常感谢指点.
    leo
    2009年3月24日 1:19
  • 楼主,你好

    我觉得工作流还是仅仅用来表示流程的运行就可以了。至于具体怎么做还是交给BLL来做要好点。
    就是说工作流只是一个用来判断流程该怎么走,具体的还是靠BLL。这是我的理解。

    Microsoft Online Community Support
    • 已标记为答案 LeoChu 2009年3月27日 1:30
    2009年3月25日 3:57
  • 现在似乎明白一点了,非常感谢,继续学习中,向牛人们致敬.
    leo
    2009年3月26日 2:04
  • 为什么在工作流中不要添加许多业务逻辑,这样做会带来什么麻烦?我最近刚刚开始接触WF,请指教,谢谢

    2009年4月16日 1:44