0

PureMVC框架中,代理通过通知与 ApplicationFacade(以及任何感兴趣的组件)进行通信。该通知应该通过它们自己的实例发送,还是通过 ApplicationFacade 的 Singleton 实例发送?老实说,这有关系吗?

这里有两种方法(在 Flex/AS 中):

// from the proxy itself
this.sendNotification(ApplicationFacade.NOTIFY_ALL);

// via the ApplicationFacade instance
ApplicationFacade.getInstance().notifyObservers(new Notification(ApplicationFacade.NOTIFY_ALL));

第二种方法对我来说看起来更冗长且不那么直观。此外,代理能够发送通知,在我看来,这意味着它可能应该。是否存在代理仅应通过 ApplicationFacade 实例发送通知的情况?

4

1 回答 1

2

notifyObservers函数是旧实现的一部分;sendNotification来自代理的调用是可接受的方法。很确定 notify 功能只是为了向后兼容。实际上(只是戳到代码中):仅实现调用sendNotification的类的方法,而调用又调用,因此第二种方法与第一种方法相同-正如您指出的那样,它更冗长。所以,是的:首先!INotifierfacade.sendNotificationfacade.notifyObservers

于 2009-08-24T15:46:56.147 回答