Autor Beitrag
Traggger
Hält's aus hier
Beiträge: 1

Win XP, WIN 7
C# (VS 2008 Express)
BeitragVerfasst: Mi 15.09.10 14:01 
Hi Leute,

erstmal ein nettes Hallo ins Forum, da ich neu hier bin. Also "Hallo an alle..."

Ich arbeite zur Zeit an einem Programm um Datensätze aus Datenbanken auszulesen und diese in einem eigenen Format zwischen zu speichern.
Auf diesen Daten arbeite ich dann innerhalb meines Programms weiter und gebe sie dann an andere Interfaces weiter.

Das ganze soll über austauschbare Interfaces realisiert werden, um nicht an eine konkrete Datenbank gebunden zu sein.

Mein Problem:

Im Zuge der Implementierung dieses Tools, möchte ich eine API zur Verfügung stellen, um die Erstellung von neuen Plugins zu erleichtern und ermöglichen.

Meine Idee ist das mit Interfaces zu ermöglichen.
Das Problem, das ich habe ist nun, dass die Interfaces in beide Richtungen arbeiten müssen (Es gibt Funktionen im Plugin auf die das Programm zugreift und es gibt Funktionen im Programm auf die das Plugin zugreifen muß.)

Hat jemand schonmal etwas in diese Richtung gemacht, oder kann Technologien empfehlen die mir da weiter helfen?
Sind Interfaces der Richtige Ansatz?

Danke euch schonmal...

Grüße Danny
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 15.09.10 19:22 
:welcome: !

Ja, grob kann es schon so funktionieren. Du definierst z.B. im Programm ein IDataConsumer-Interface, implementierst es in den Plugins, suchst dann im Programm über Reflection in den Plugins nach den Implementierungen und übergibst ihnen die Daten. Und der Code darin kann natürlich jede öffentliche Klasse in der Programm-Assembly verwenden.

Technische Unterstützung könnte dir vor allem das MEF bieten, das dir den "Interface-Implementierungen suchen und an der richtigen Stelle einsetzen"-Teil abnimmt. Die VS2010-Extensions basieren darauf.

_________________
>λ=