2

首先是一点背景。

我们正在开发一个应用程序,它接收来自n多个sources. source可能是一个messaging queue,一个FTP位置,webservice对特定服务的调用或我们能想到的任何可能的编排层。我的任务是设计和开发一个模块,该模块将充当可配置资源管理器,它将在处理消息的模块和发送消息的应用程序之间工作。

您能否建议我可以在这里使用的任何设计模式或最佳实践。我们希望能够灵活地配置这些资源并即时更改频道。意味着如果消息类型 A 今天进入队列,明天这可能是预定的 Web 服务调用。

在这方面的任何指针将不胜感激。

4

1 回答 1

6

要获得好的答案,您应该发布更多详细信息,但看起来您需要策略设计模式。

public interface SourceStrategy{
    public Message getMessage();
}

public FtpLocation implements SourceStrategy{...}
public MessageQueue implements SourceStrategy{...}
public WebService implements SourceStrategy{...}

public class Application(){
    SourceStrategy s;
    public void setStrategy(SourceStrategy s){
        this.strategy = s;
    }
    public void readMessage(){
        Message m = this.s.getMessage();
    }
}
于 2011-09-22T20:21:43.277 回答