Настраиваемый ресурс - шаблоны проектирования - PullRequest
2 голосов
/ 23 сентября 2011

Прежде всего немного фона.

Мы разрабатываем приложение, которое получает сообщения от n числа sources. source может быть messaging queue, FTP местоположением, webservice вызовом конкретной услуги или любым возможным уровнем оркестрации, о котором мы только можем подумать. Мне было поручено спроектировать и разработать модуль, который будет действовать как настраиваемый менеджер ресурсов, который будет работать между модулем, который обрабатывает сообщение, и приложением, которое отправляет сообщение.

Не могли бы вы предложить какие-либо шаблоны проектирования или рекомендации, которые я могу использовать здесь. Мы хотели бы иметь гибкость настройки этих ресурсов и изменения каналов на лету. Означает, что сегодня сообщение типа A приходит в очередь, завтра это может быть запланированный вызов веб-службы.

Буду признателен за любые указания на этот счет.

1 Ответ

6 голосов
/ 23 сентября 2011

Для хорошего ответа вы должны опубликовать больше деталей, но похоже, что вам нужно стратегия шаблон проектирования.

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