上文提到了生产者和消费者角色。生产者和消费者是针对类型而言的。一旦确定了生产者和消费者角色,后续编码过程中使用的调用方式也就严格确定了,如果消费者需要调用生产者,就直接使用方法调用;如果生产者需要调用消费者的某些功能,则需要使用委托或事件进行回调。
由此而看,当生产者和消费者互相作用,以完成一项操作时,存在两种方式——调用或回调。当采用方法调用完成一个操作时,我们成这种模式为“Pull模式”;而当采用回调完成一个操作时,我们成这种模式为“Push模式”。
前文提到了WinForm的例子,在窗体中使用控件时,控件类型是生产者,而窗体类则是消费者。以Button类和MyForm(继承自Form类)为例。










