Bei Constructor-Injection werden sämtliche Abhängigkeiten einer Klasse über den Konstruktor übergeben. Damit kann ein Objekt der Klasse nur erzeugt werden, wenn alle Abhängigkeiten bei der Erstellung vorhanden sind. Der Einsatz von Constructor-Injection mit dem Managed Extensibility Framework soll durch ein einfaches Beispiel vorgestellt werden.
Author: Stefan Henneken
MEF Teil 5 – Composition und Recomposition
Die Kataloge und Container dienen dazu, die Instanzen der Composable Parts zu erzeugen und miteinander zu binden. In den vorherigen Blogs wurde dieses Thema nicht weiter behandelt. Das soll jetzt nachgeholt werden.
Continue reading “MEF Teil 5 – Composition und Recomposition”
MEF Teil 4 – Vererbung mit Composable Parts
Klassen, welche die Attribute Import und Export enthalten, können von anderen Klassen geerbt werden. Das Verhalten vom Managed Extensibility Framework (MEF) hat hierbei einige Besonderheiten, auch in Bezug auf mögliche Metadaten. Hilfestellung bietet das Attribut InheriedExport.
Continue reading “MEF Teil 4 – Vererbung mit Composable Parts”
MEF Teil 3 – Lifecycle beeinflussen und überwachen
Das Binden der Composable Parts wurde im 1. Teil ausführlich vorgestellt. Bei einer Anwendung kann es aber notwendig sein, solche Verbindungen gezielt wieder aufzulösen ohne gleich den ganzen Container zu löschen. Des weiteren werden Schnittstellen vorgestellt, die die Parts darüber informieren, ob deren Verbindung hergestellt, oder der Part komplett gelöscht wurde.
Continue reading “MEF Teil 3 – Lifecycle beeinflussen und überwachen”
MEF Teil 2 – Metadaten und Erstellungsrichtlinien
Im 1. Teil ging es um die Grundlagen, die Imports und Exports. Der 2. Teil schließt an den ersten an und zeigt weitere Leistungsmerkmale des Managed Extensibility Framework (MEF). Schwerpunkt sind dieses Mal die Metadaten und die Erstellungsrichtlinien.
Continue reading “MEF Teil 2 – Metadaten und Erstellungsrichtlinien”
MEF Teil 1 – Grundlagen, Imports und Exports
Anwendungen auf mehrere Komponenten zu verteilen ist mittlerweile ein notwendiger Standard geworden. Jeder Entwickler, der solch eine Infrastruktur zur dynamischen Erweiterung entworfen hat, weiß dass die Implementierung sehr aufwendig werden kann. Das Managed Extensibility Framework (MEF) verspricht Abhilfe. Eine kurze Einführung soll dieses verdeutlichen.
Continue reading “MEF Teil 1 – Grundlagen, Imports und Exports”
System.Threading Teil 3 – Interferenzen und Deadlocks
Nachdem es in den ersten beiden Teilen um die Grundlagen und die Anwendung von Threads ging, soll es im dritten Teil konkret um die Gefahren bei der Benutzung von Threads gehen.
Continue reading “System.Threading Teil 3 – Interferenzen und Deadlocks”
IEC 61131-3: Weitere Spracherweiterungen
Bisher lag der Schwerpunkt meiner Posts in den objektorientierten Erweiterungen. Es gibt aber noch einige allgemeine, meist nicht so tiefgreifende, Neuerungen innerhalb von TwinCAT 3. Im Folgenden sollen diese kurz vorgestellt werden.
Continue reading “IEC 61131-3: Weitere Spracherweiterungen”System.Threading Teil 2 – Anwendung
Nachdem der erste Teil die Grundlagen vorstellte, soll es im zweiten Teil um die Anwendung von Threads gehen.
IEC 61131-3: Namespaces
Mit CodeSys V3 wurde das Prinzip der Namespaces (Namensräume) eingeführt. Namespaces gruppieren Variablen und Bibliotheken in zusammengehörige Einheiten. Ein Element wird dadurch nicht mehr nur durch seinen Namen, sondern auch durch seinen zugehörigen Namespace benannt.