Delphi-Quellcode:
case AMessageBrokerType:
mqMS:
Result := TMy_MSMQ.Create;
msAtiveMQ:
Result := TActiveMQ.Create;
else
raise EMessageQueueBrokerNotSupportedError.Create('');
In einem Edit meines Beitrags habe ich angemerkt, dass diese Flexibilität auch einen Preis, nämlich eine entsprechend größere Anwendungsdatei hat, da auch die Implementierungs-Klassen für alle unbenutzten Message Broker eingebunden werden.
(Man könnte aber durch Einsatz von IFDEF verschiedene Versionen der Anwendung erstellen, die je nach Bedarf nur einen Message Broker oder eine Auswahl (zwei bis N) unterstützen.)