5

Ich arbeite an einem Softwareprodukt, das das Verhalten basierend auf der konfigurierten Metadaten & wesentlich ändern kann.Best Practices zum Erstellen eines in hohem Maße konfigurierbaren Softwareprodukts

Ich möchte wissen, Best Practices zu Architekt/Build ein in hohem Grade konfigurierbares Softwareprodukt. Wenn man bedenkt, dass es eine beträchtliche Anzahl von Konfigurationsparametern gibt, möchte ich etwas betrachten, das sich nicht auf die Leistung auswirkt, bevor ich auf die Abhängigkeitsinjektion schaue. Meine Plattform ist .Net ... Ich suche Empfehlungen zu Architektur/Design und Implementierungen Fronten.

Antwort

2

Dependency Injection ist sehr unwahrscheinlich, die Leistung zu beeinträchtigen. Es kann geringfügige Verzögerungen (gemessen in Millisekunden) geben, wenn Sie Ihren initialen Abhängigkeitsgraphen verdrahten, aber im Vergleich zu den üblichen Leistungstörern der meisten Anwendungen (sehr oft veraltete Aufrufe) ist das vernachlässigbar.

Wenn Sie eine laufende Anwendung neu zusammensetzen müssen, ohne sie neu zu starten, sollten Sie einen Blick auf MEF werfen, aber ansonsten sollte Ihnen common DI patterns gute Dienste leisten.

+0

Dank Mark. Während architektonisch MEF solide ist, ist es noch in der Betaversion. Darüber hinaus ist es nicht so einfach zu verkaufen, zumindest zu diesem Zeitpunkt. – Kabeer