MEF Teil 6 – Constructor-Injection

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.

Continue reading “MEF Teil 6 – Constructor-Injection”

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”

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”

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.

Continue reading “IEC 61131-3: Namespaces”