【问题标题】:Design pattern for simple workflow简单工作流的设计模式
【发布时间】:2018-01-21 16:58:26
【问题描述】:

我正在开发一个 java 独立应用程序/框架。该应用程序每天根据数据库中的数据生成一次报告,它计划每天运行一次。应用程序必须是通用的以支持不同的报告。经过一些研究,我想将每个报告的元数据存储在数据库中。例如报告名称、启用、返回报告数据的 sql 查询等。

每个计划作业都与指定的报告(报告 ID)相关联。

简而言之,工作流程是 计划作业运行 > 检索特定报告的元数据 > 运行 sql 查询 > FTP 报告文件 > 通过电子邮件发送报告 > 结束

可能会添加更多步骤。并且还取决于可能不需要成功完成的步骤。例如如果 FTP 失败,流程应该继续。

当前驱动流的类是 ReportService,它检索元数据,使用 FTP 类,然后是 Email 类。

由于我想让框架可扩展,用户可以扩展 ReportService 类并转换检索到的数据,在继续正常流程(ftp>电子邮件)之前调用其他一些业务服务。

我正在寻找可以帮助我使框架通用且易于扩展的设计模式,特别是用于实现工作流程的模式,如果其中一个步骤失败,则取决于流程应该终止或继续的步骤。

【问题讨论】:

    标签: java spring design-patterns


    【解决方案1】:

    看看DecoratorChain of ResponsibilityPublish/Subscribe。所有这些模式都允许您将行为联系在一起。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多