【问题标题】:What pattern to use when invoking multiple external apps?调用多个外部应用程序时使用什么模式?
【发布时间】:2010-09-26 13:41:04
【问题描述】:

给定一组外部应用程序(app1.exe、app2.exe、...)。调用一个应用程序会改变一些事情。有时需要分析结果,有时只是其他应用程序的先决条件。如果一个失败,中止进程。

所有应用都需要按特定顺序被调用,并且它们必须成功才能最终完成而不会出错。

这种场景有什么设计模式吗?

【问题讨论】:

    标签: design-patterns language-agnostic


    【解决方案1】:

    您可以考虑使用代理模式,因为它会抽象出处理外部应用程序的所有细节。

    【讨论】:

      【解决方案2】:

      你的意思是shell script

      要实现这样的“执行树”,您通常使用一些基本的、专门的编程语言以正确的顺序执行应用程序,并对结果应用各种测试和处理命令。

      UNIX shell 脚本/Windows 批处理或 PowerShell 文件是用于此目的的典型工具。

      【讨论】:

        【解决方案3】:

        生产者/消费者模式?您可以创建代表外部应用程序的“命令”并将它们放入队列中,这将是生产者的工作。然后,消费者将一次执行一项任务,并在从队列中获取下一项之前分析该任务的结果。

        【讨论】:

          猜你喜欢
          • 2017-10-08
          • 2013-09-07
          • 1970-01-01
          • 1970-01-01
          • 2012-11-23
          • 2015-12-31
          • 2011-09-05
          • 1970-01-01
          • 2020-02-28
          相关资源
          最近更新 更多