Ich bin es gewohnt, in C# zu programmieren, und eine Sache, die ich an Java vermisse, ist, dass es nicht die netten eingebauten Ereignisbehandlungsfunktionen von C# zu haben scheint:
// define event signature
public delegate void SomeEventHandler();
class SomeEventGenerator {
// define subscribable event property
public event SomeEventHandler SomeEvent;
protected void OnSomeEvent() {
if (SomeEvent != null) {
SomeEvent();
}
}
}
class SomeEventClient {
public SomeEventClient(SomeEventGenerator eg) {
// subscribe
eg.SomeEvent += new SomeEventHandler(eg_SomeEvent);
// do some stuff
// unsubscribe
eg.SomeEvent -= new SomeEventHandler(eg_SomeEvent);
}
private void eg_SomeEvent() {
// handle event
}
}
Was ist der beste Weg, um etwas ähnliches und leichtgewichtig in Java/Android zu erhalten, die die Fähigkeit hat, mehrere Ereignis-Clients zu abonnieren/abzubestellen und alle abonnierten Clients auf einmal aufzurufen?