2011-09-22 4 views
2

Tout d'abord un peu d'arrière-plan.Ressource configurable - Modèles de conception

Nous développons une application qui reçoit des messages de n nombre de sources. Le source peut être un messaging queue, un emplacement FTP, un appel webservice à un service particulier ou à toute couche d'orchestration possible à laquelle nous pouvons penser. J'ai été chargé de concevoir et de développer un module qui agira comme un gestionnaire de ressources configurable qui fonctionnera entre le module qui traite le message et l'application qui envoie le message.

Pourriez-vous me suggérer les modèles de design ou les meilleures pratiques que je peux utiliser ici? Nous aimerions avoir la flexibilité de configurer ces ressources et de changer les canaux à la volée. Signifie que si le type de message A arrive en file d'attente aujourd'hui, il peut s'agir d'un appel de service Web planifié.

Tout pointeur à cet égard serait apprécié.

Répondre

6

Pour une bonne réponse, vous devriez poster plus de détails, mais il semble que vous ayez besoin de strategy motif de conception.

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