我现在在做什么:
通常,视图组件的多个实例会在应用程序的多个位置使用。每次我这样做时,我都会用不同的名字注册同一个中介。
发送通知时,我将中介的名称附加到通知的正文中,如下所示:
var obj:Object = new Object();
obj.mediatorName = this.getMediatorName();
obj.someParameter = someParameter;
sendNotification ("someNotification", obj);
然后在 Command 类中,我解析通知正文并将 mediatorName 存储在代理中。
var mediatorName:String = notification.getBody().mediatorName;
var params:String = notification.getBody().someParameter;
getProxy().someMethod(params, mediatorName);
在返回通知中,mediatorName 也随之返回。
var obj:Object = new Object();
obj.mediatorName = mediatorName;
obj.someReturnedValue= someReturnedValue;
sendNotification ("someReturnedNotification", obj);
在handleNotification()中可能正在监视“someReturnedNotification”的多个中介中,它执行一个if语句,以查看
if obj.mediatorName == this.getMediatorName
返回真。如果是,则处理信息,如果不是,则不要。
我的问题是:这是使用 Multiton PureMVC 的正确方法吗?我的直觉不是。我确信有更好的方法来构建应用程序,这样我就不必测试中介者的名字来查看是否应该使用返回的信息更新组件。
有人可以帮忙并给我一些关于什么是更好的方法的指导吗?
谢谢。