【发布时间】:2010-09-26 13:41:04
【问题描述】:
给定一组外部应用程序(app1.exe、app2.exe、...)。调用一个应用程序会改变一些事情。有时需要分析结果,有时只是其他应用程序的先决条件。如果一个失败,中止进程。
所有应用都需要按特定顺序被调用,并且它们必须成功才能最终完成而不会出错。
这种场景有什么设计模式吗?
【问题讨论】:
标签: design-patterns language-agnostic
给定一组外部应用程序(app1.exe、app2.exe、...)。调用一个应用程序会改变一些事情。有时需要分析结果,有时只是其他应用程序的先决条件。如果一个失败,中止进程。
所有应用都需要按特定顺序被调用,并且它们必须成功才能最终完成而不会出错。
这种场景有什么设计模式吗?
【问题讨论】:
标签: design-patterns language-agnostic
您可以考虑使用代理模式,因为它会抽象出处理外部应用程序的所有细节。
【讨论】:
你的意思是shell script?
要实现这样的“执行树”,您通常使用一些基本的、专门的编程语言以正确的顺序执行应用程序,并对结果应用各种测试和处理命令。
UNIX shell 脚本/Windows 批处理或 PowerShell 文件是用于此目的的典型工具。
【讨论】:
生产者/消费者模式?您可以创建代表外部应用程序的“命令”并将它们放入队列中,这将是生产者的工作。然后,消费者将一次执行一项任务,并在从队列中获取下一项之前分析该任务的结果。
【讨论】: