2009-08-02 9 views
0

Ich habe eine architektonische Frage für Sie :) In meinem neuen Projekt entwickle ich einen WCF-Dienst, der einen "driverName" String-Eingabeparameter hat und für diesen Namen muss der Dienst einen "driverType erstellen "Klasse, die eine" IDriver-Schnittstelle "implementiert und eine Methode ausführt. Die Anwendung wird erweiterbar sein und ich möchte andere Assembly zur Laufzeit mit anderen Treiberimplementierung versetzen.wcf und Factory plugin pattern

Ich weiß nicht sehr gut wcf aber das Lesen der neuen wcf4 in meinem Kopf habe ich die folgenden zwei mögliche Implementierungen thinked:

1) eine „Fabrik Muster“ in einem generischen WCF (und meine Frage ist, : viele wcf

2) verwenden Sie, je eine pro einzelnen Treiber und das erkennbar Merkmal der WCF4 gibt es ein Framework, das ich für meine Zwecke verwenden können

) (und meine Frage ist:? kann mir DISCOVER helfen)

Sorry, aber mein Englisch ist schlecht und ich habe nicht viel Erfahrung über diese Art von Problem. Bitte hilf mir.

Antwort

1

Ich sehe keinen Grund, mehrere Dienste zu erstellen. Verwenden Sie einfach ein Fabrikmuster.

Da Sie .NET 4.0 verwenden, sollten Sie die Verwendung der Managed Extensibility Framework in Erwägung ziehen.

+0

denkst du, dass MEF ist besser als structuremap und andere IOC in diesem Fall (ich versuche es in diesen Tagen und diese Frage in wiederkehrenden in meinem Kopf :)) – tartafe

+0

Ich weiß es nicht. Ich habe keine Strukturkarte verwendet. Ich weiß, dass MEF das Erweiterungsrahmenwerk ist, das innerhalb von VS2010 verwendet wird, um den Texteditor zu erweitern, und dass es das Erweiterungsrahmenwerk für alle Aspekte der VS-Erweiterbarkeit in zukünftigen Versionen wird. Mit anderen Worten, das VS-Team mag MEF sehr! –