DphMEF
Eine Mini-Version von MEF (Managed Extensibility Framework) für Delphi 2010 (
Win32). Mehr zu MEF in .NET:
http://mef.codeplex.com/
MEF kann für Dependency Injection u.a. verwendet werden.
DphMEF unterstützt folgende Attribute:
[Export]: Exportiert eine Klasse
[Import]: Importiert ein einzelnes Objekt
[ImportMany]: Importiert als Array
[InheritedExport]: Markiert ein Interface oder eine Basisklasse, sodass alle Implementierungen oder abgeleiteten Klassen automatisch exportiert sind
[PartCreationPolicy]: Definiert, ob ein Objekt jedesmal neu erzeugt werden soll oder recycled werden kann
[ImportingConstructor]: Markiert ein Konstruktor für Konstruktor-Injection
[ExportMetaData]: Basisklasse für meta Daten bei Lazy Evaluierung
Das ganze ist keine Übersetzung von MEF .NET sondern versucht die wichtigsten Features wiederzugeben. Das Feature-Set in .NET ist natürlich viel grösser und der Code hier ist eher eine Feasibility als Production-ready code. Trotzdem kann vielleicht der eine oder andere etwas damit anfangen.
Unit mit Demo im Anhang.