这是一个关于编程技术的问题。这个想法是这样的:
control A
触发事件(正常)control A
监听事件(其他线程/控件的)
我想实施第二个。但是以一种安全且最模块化的方式。所以控件必须不知道谁在触发事件,只有它被触发了。我认为有很多方法可以做到这一点。哪一个是最好的 ?假设一个表单正在触发事件LoadImages
并想要监听事件ImagesLoaded
。
- 线程/控件调用一个函数
control A
并以这种方式通知它它们已经完成(但它们知道control A
它的方法) control A
订阅线程/控件的事件并知道它们何时被触发(知道一切的主线程必须通过事件订阅连接它们)control A
启动一个调用阻塞函数的等待线程,并ImagesLoaded
在函数完成时触发事件(control A
了解执行某些工作的线程/控件)control A
callback
在将函数作为参数传递时调用函数或触发事件(除了他们必须做什么之外,没有人知道任何事情)- ... ?
哪一个给了我最大的模块化?还有更多的方法来实现 2 吗?