代码之家  ›  专栏  ›  技术社区  ›  Jon Davis Glenn Block

.NET WF4:它应该在所有的中间吗?

  •  5
  • Jon Davis Glenn Block  · 技术社区  · 14 年前

    WF4中的工作流活动是否应该是高度可扩展/可增长的基于web的协作应用程序的主要控制器 ? 还是我问的问题完全错了?

    我相信这是一个模糊的问题,所以抽象的答案和具体的答案一样受欢迎。

    我知道WF4是对WF3的一次重大返工和重新设计,在WF4中,使WF3成为一个糟糕的技术选择的许多因素已经被清理干净。例如,据我所知(尽管我没有仔细研究,实际上也没有涉及到这方面),WF4活动或多或少可以通过[TestMethod]和mocking进行测试 . 我对使用WF通过XML绘制图表或延迟加载不感兴趣,我更喜欢编写具体的C#工作流声明,但是如果工作流可以用编译语言简洁地编写并且可以测试,我很想关注它。因此,如果有这些改进的话,这些改进的性能等都再次吸引了我对这项技术的注意,而我之前对WF3嗤之以鼻。

    编辑: 只有那些知道WF4(不是WF3)的人的答案才会被视为“答案”。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Kirk Broadhurst    14 年前

    我通常会说,学习新技术是有趣、有趣和有益的。你可以获得新的视角和理解。但在我看来,我正在工作的项目过度使用了工作流。它被用于对象持久性、基于计时器的事件和进程状态跟踪。它可以做所有这些事情,但我不相信它会给系统增加任何东西。

    如果您不需要使用工作流,并且没有从使用工作流中获得任何具体的、有形的好处,那么为什么还要增加系统的复杂性和风险呢?仅仅因为您“可以”或“可以”使用工作流是不够的。如果您想深入研究它,然后使用它构建一个玩具,或者在非关键角色的系统中加入一个或两个工作流。

    考虑一下你是否在使用工作流的特定和独特的特性。例如,能够测试不是工作流程的一个特征;测试一个工作流并不比测试一段代码容易。

    在工作流中可以做的事情很少,而在普通代码中却做不到(我说“很少”,因为我肯定有一些,但我不知道有什么)。你需要权衡你的得失,并建立一个概念证明。