[英]How to implement this pluggable mechanism in C# and java?
假设我有三个对象A,B,C。
B是以下接口的实现:
interface D
{
event EventHandler<OrderEventArgs> OrderCreated;
event EventHandler<OrderEventArgs> OrderShipped;
}
我将在B中添加两个函数,这将引发接口中的事件。
class B
{
RaiseOrderCreated();
RaiseOrderShipped();
}
A是托管类,将调用B的函数引发指定事件。 我希望CI中可以监听接口B或类C,只要引发B中的事件,C可以得到通知,然后C可以对事件做出反应。
我正在考虑如何在C#和Java中实现此机制。
任何帮助或提示将不胜感激!
因此,您将拥有一个名为C的EventListener,一个名为A的对象,该对象具有一个类型B的字段,该字段是D的实现对象。
通常,在Java中,您对D的设计不同:
interface D {
static final String ORDER_PROPERTY="ORDER";
void setOrder(Order order);
Order getOrder();
}
class B implements D {
// delegate object to implement support for event listeners and event firing
private java.beans.PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
private Order order = null; // field that holds current order
@Override
public void setOrder(Order order) {
Order old = this.order;
this.order = order;
propertyChangeSupport.firePropertyChange(ORDER_PROPERTY, old, order);
}
// more B code here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.