Java
可以用作通用回调机制的更可取的接口或类似模式应该是什么?
例如,它可能类似于
public interface GenericCallback
{
public String getID();
public void callback(Object notification);
// or public void callback(String id, Object notification);
}
对于覆盖方法的情况,将需要 ID,hashCode()
以便被调用者识别调用者。
像上面这样的模式对于需要向类报告它们是从某个条件(例如,处理结束)产生的类的对象很有用。
在这种情况下,“父”类将使用getID()
这些对象中的每一个的方法GenericCallback
来跟踪它们,Map<String, GenericCallable>
并根据收到的通知添加或删除它们。
另外,这样的接口实际上应该如何命名?
很多人似乎更喜欢Java Observer 模式,但是其中定义的Observable 类并不方便,因为它不是规避单一继承的接口,而且它具有比上述简单场景实际需要的更多功能。