我试图在涉及事件的编程环境中协调得墨忒耳定律——我标记了这个 javascript 和 obj-c(Cocoa 的 NSNotificationCenter),因为它们都允许事件。
在这样的环境中,您可以任意解耦任何两个对象,只需让它们抛出并绑定/订阅事件即可。在 obj-c 中,这样做会容易得多,而不是传递对需要调用方法的对象的引用。我认为这可能并不总是使用:从性能的角度来看,您错过了方法调度的优化(可能可以忽略不计,除非它是一个巨大的应用程序)。为了可读性,程序员可能希望明确指出一个对象是另一个对象的依赖项,这在对象只是抛出事件时并不明显。
我想对事件在软件架构中的作用提出一些想法:您喜欢如何平衡事件绑定和直接方法调用?