java - 可配置资源 - 设计模式

标签 java oop design-patterns input channel

首先介绍一下背景。

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

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

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

最佳答案

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

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();
    }
}

关于java - 可配置资源 - 设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7520922/

相关文章:

c# - 类中相关计算属性的设计模式?

c# - 创建返回正则表达式匹配命令的类的最佳方法

java - 将一些 HashMap 键/值映射到 POJO

java.exe 没有结束 - 只剩下一个操作系统线程

javascript - 如何使用 Spring 响应下载 excel 文件

java - 发送不带 'root' 的 JSON 对象

javascript - AngularJS 的面向对象方法

PHP PDO fetchAll() 在 bool 上

unit-testing - 单元测试策略: redundancy using Black-box

design-patterns - 设计模式仅适用于面向对象的设计吗?