可配置资源 - 设计模式

nob*_*ody 2 java oop design-patterns input channel

首先是一点背景.

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

您能否提出我可以在这里使用的任何设计模式或任何最佳实践.我们希望能够灵活地配置此资源并动态更改频道.表示今天消息类型A是否进入队列,明天这可能是预定的Web服务调用.

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

Hei*_*bug 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();
    }
}
Run Code Online (Sandbox Code Playgroud)