In Java füttere ich sehr verwirrt auf Beobachtermuster oder JMS. Ich möchte die Ereignisbenachrichtigung wie unten verwenden. Lassen Sie uns diese JMS oder Observer vergessen, denken Sie, dass es möglich oder machbar ist? Wenn ja, wie vervollständige ich es?Ereignisbenachrichtigung in Java
newSalesOrder = new SalesOrder();
newSalesOrder.notified("new SalesOrder order ID="+orderId);
EventRegister.bindEvent(SalesOrder.class, Delivery.class);
EventRegister.bindEvent(SalesOrder.class, Warehouse.class);
////////////
Delivery delivery = new Delivery();
delivery.listerning(new Event(source){
if(source == SalesOrder.class){
}
});
//////////
Warehouse warehouse = new Warehouse();
warehouse.listerning(new Event(source){
if(source == SalesOrder.class){
}
});
///////////
EventRegister{
static bindEvent(Class source, Class destination){
//???
}
}
Sie haben nicht wirklich beschrieben, was Sie richtig wollen. Sie haben gerade einige Methodensignaturen angegeben, aber keine wirklichen Hinweise darauf, welches Verhalten von ihnen gewünscht wird (oder sogar wo Ihre "Ereignisse" herkommen) ... –
Und warum die scheinbar willkürliche Einschränkung, das Observer Pattern nicht zuzulassen ? –