Verfasst von: bletra | 27. April 2010

Sun und Microsoft über Fluch und Segen von Delegates

Delegates sind ein .Net Sprachkonstrukt, dass den C++-Einfluss in die .Net-Welt zeigt. Delegates sind vereinfacht gesagt typsichere Funktionszeiger oder genauer gesagt Klassen, die Referenzen auf Methoden enthalten. Tatsächlich ist es eine Syntax, die die Implementation von Callbacks (Rückrufe) und die Verarbeitung von Ereignissen unterstüzt. Übersetzt wird dies letztendlich in eine von System.MulticastDelegate abgeleitete Klasse. Die komplette Ereignisbehandlung von .Net basiert auf diesem Sprachkonstrukt. Java bekommt sein Eventhandling auch ganz gut ohne Delegates umgesetzt. Was ist nun der bessere Ansatz? Darüber diskutieren Microsoft und Sun in den folgenden Artikeln:

Sun bzw. Oracle argumentiert natürlich gegen Delegates (in einem älteren Artikel): White Paper About Microsoft’s „Delegates“

Microsoft reagierte auf diesen Artikel mit einer Gegenargumentation in diesem Artikel: The Truth About Delegates

Wann setzten Sie Delegates außerhalb von Events in .Net ein? Wenn Sie über ein Interface mit nur einer Methode nachdenken. Diesen Zusammenhang greift folgender Artikel auf: A Java Programmer Looks at C# Delegates

Eine sehr schöne Einführung in Delegates und Events finden Sie in dieser Seminararbeit der Uni Paderborn: Ereignisbehandlung – Events und Delegates und natürlich im Delegates-Tutorial von Microsoft.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Kategorien

%d Bloggern gefällt das: