Delegates im Detail, Teil 1 01.11.2016, 00:00 Uhr

Entkoppeln mit Delegaten

Sowohl Ereignisse als auch Delegaten spielen eine wichtige Rolle bei optimiertem Klassendesign.
(Quelle: Foto: shutterstock / Hanss)
Es gab Zeiten in der Entwicklung mit dem Microsoft .NET Framework, in denen der Einsatz von Events und Delegates unverzichtbar war. Nahezu jede Oberflächentechnologie in der .NET-Welt machte massiven Gebrauch von Delegaten als Datentyp und den zur Datenkapselung benötigten Ereignissen. Mit dem Aufkommen von Entwurfsmustern wie MVC für ASP.NET oder MVVM für WPF hat diese Technik auf den ersten Blick an Attraktivität verloren, jedoch zeigt sich bei genauerem Hinschauen, dass die Einsatzmöglichkeiten wesentlich mehr umfassen als nur das Auslösen von UI-Ereignissen.
Die erste UI-Technologie, mit der ich bereits in den frühen Anfängen von .NET die ersten Anwendungen für den Desktop entwickelte, war Windows Forms. Die Entwicklung ist denkbar einfach: Die Oberfläche wird im Designer „zusammengeklickt“, dann ein geeignetes Ereignis abonniert und danach in einem sogenannten Eventhandler (eine Methode, die mit dem Ereignis verknüpft ist) in der Code-behind-Datei darauf reagiert. Baute ich eine neue UI-Funktion ein, habe ich zuerst in der IntelliSense-Liste nach einem geeigneten Event für das geplante Vorhaben gesucht – das ich dank des gelben Blitzes am passenden Ereignis auch recht schnell gefunden habe. Dieses sogenannte Smart-UI-Muster [1] machte die Entwicklung von grafischen Oberflächen ungemein einfach, und nahezu jeder, der etwas Programmier­erfahrung hatte, konnte verhältnismäßig schnell eine grafische Anwendung entwickeln.

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