Servus,
ich hab hier drei Libraries
Konkret sind das nun eine Library für ORM-Style Datenzugriff (
Darüber hinaus gibt es zu jeder Library noch einer
Nun brauche ich nicht
Habt ihr noch eine andere Lösung? Oder sollte ich am besten die 6 Projekte einfach in 2 zusammenpacken? Wäre jedoch nur die Lösung die ich ganz zuletzt nehmen würde, da ich die Libraries doch gerne getrennt halten würde.
ich hab hier drei Libraries
A
, B
und C
, die zwar recht klein sind, doch von Grund auf verschiedene Funktionalitäten haben. Nun war es so, dass C
Referenzen auf A
und B
hatte, und so eine Klasse bereitgestellt hat, die die Funktionalitäten aller dreien gebündelt hat. Nun jedoch brauche ich bei einem neuen Projekt die Funktionalität aus B
und C
, jedoch nicht aus A
, und ich möchte nur ungern eine "tote" DLL in meinem Projekt mitschleifen. Konkret sind das nun eine Library für ORM-Style Datenzugriff (
A
), eine Library mit einem "trockenem" Session Management(B
), und eine Library die als Host für WCF-Dienste fungiert, und via MEF diese Dienste lädt(C
).C
Hat nun eine Klasse GlobalProperties
, die den WCF Diensten übergeben wird als Interface IGlobalProperties
, in der sich Funktionen zur erzeugung von DB-Zugriffen, zum Verwalten aller "Sessions" des Hosts befinden, als auch eben "globale Properties".Darüber hinaus gibt es zu jeder Library noch einer
Interface
-Library, sodass die via MEF geladenen Dienste nur die Interfaces einbinden müssen, um geladen zu werden und auf alles Zugriff zu haben.Nun brauche ich nicht
A
, jedoch die anderen beiden, weiß jedoch nicht wie ich das genau anstellen soll. Ich dachte zunächst an eine GlobalProperties
bzw. IGlobalProperties
die mit partial
gekennzeichnet ist und in allen Libraries vorkommt, das schlug jedoch direkt fehl. Als nächstes dachte ich mir, dass ich die beiden anderen Libraries via MEF einbinden könnte, doch dazu müssten entweder die Libraries A
und B
Verweise auf C
haben, was auch nicht gerade optimal ist, oder aber ich muss so gut wie alle Interfaces in C
deklarieren, was komplett am Sinn der einzelnen Interface-Libraries vorbei geht. Sonst hätte ich direkt eine einzige Library geschriben.Habt ihr noch eine andere Lösung? Oder sollte ich am besten die 6 Projekte einfach in 2 zusammenpacken? Wäre jedoch nur die Lösung die ich ganz zuletzt nehmen würde, da ich die Libraries doch gerne getrennt halten würde.