Delegates im Detail, Teil 4 19.01.2017, 00:00 Uhr

Mit Events zu einer Zuständigkeit

Ereignisse und Delegaten eignen sich hervorragend, um das Single-Responsibility-Prinzip umzusetzen.
Wenn die Qualität von Software beurteilt werden soll, stellt sich zuerst immer die Frage: Welche Aspekte sind für das Projekt entscheidend? Ist es wichtig, dass die Software getestet werden kann? Ist die Modifizierbarkeit wichtig? Sollen einzelne Klassen oder Komponenten wiederzuverwenden sein? Die Auflistung der Fragen zu solchen Qualitätsaspekten ­ließe sich beliebig lang fortführen und sollte vor jedem Projekt genau definiert werden, um entsprechende Aussagen überhaupt treffen zu können.
Schon viele Artikel in der dotnetpro haben gezeigt, dass es sehr wichtig ist, einzelne Systeme (Methoden, Klassen, Komponenten) voneinander zu entkoppeln, um nur noch von Kontrakten und nicht mehr von Implementierungen abhängig zu sein [1]. Die Umsetzung einer solchen Entkopplung ist nicht sehr aufwendig, nahezu jeder Entwickler kann sie sich schnell aneignen. Während eine solche Entkopplung mithilfe von Schnittstellen auf der Ebene der Klassen verbreitet und mehr oder weniger intuitiv ist, wurde in den vorangegangenen Teilen dieser Artikelserie klar, dass auch Delegaten und die zur Datenkapselung von Delegaten verwendeten Events eine große Rolle spielen können [2, 3, 4]. Nun soll dieses Verfahren genauer erklärt werden und ein Beispiel soll zeigen, wie eine konkrete Umsetzung erfolgt.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar