本文目录一览:
java中什么叫"观察者设计模式"?
观察者模式(Observer Pattern),又被称为发布/订阅模式,它是软体设计模式中的一种。观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
在观察者模式中,一个目标物件(被观察者)管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知,这通常通过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。观察者模式有很多实现方式,从根本上说,该模式必须包含两个角色:观察者和被观察者。观察者和被观察对象之间的互动关系不能体现成类之间的直接调用,那样就将使观察者和被观察对象之间紧密的耦合起来,从根本上违反面向对象的设计的原则。在具体的实现中,我们需要面向接口编程,让被观察者管理观察者对象接口类型,然后调用接口方法更新观察者。
详细内容请参考《软件秘笈:设计模式那点事》,祝你早日学会设计模式!
java绘图ImageObserver observer,观察者是什么意思?
public interface ImageObserver
用于在构造 Image 时,接收有关 Image 信息通知的异步更新接口。
字段摘要
static int ABORT
imageUpdate 的 infoflags 参数中的此标志指示被异步跟踪的图像在生成完成前即已中止。
static int ALLBITS
imageUpdate 的 infoflags 参数中的此标志指示现在已完成了一幅以前绘制的静态图像,并且可以其最终形式再次绘制它。
static int ERROR
imageUpdate 的 infoflags 参数中的此标志指示被异步跟踪的图像遇到了错误。
static int FRAMEBITS
imageUpdate 的 infoflags 参数中的此标志指示多帧图像(以前绘制的)的另一个完整帧现在可以再次绘制。
static int HEIGHT
imageUpdate 的 infoflags 参数中的此标志指示基本图像的高度现在可用,并且可从 height 参数中获取此高度到 imageUpdate 回调方法。
static int PROPERTIES
imageUpdate 的 infoflags 参数中的此标志指示该图像的属性现在可用。
static int SOMEBITS
imageUpdate 的 infoflags 参数中的此标志指示已提供了绘制图像缩放变体所需的更多像素。
static int WIDTH
imageUpdate 的 infoflags 参数中的此标志指示基本图像的宽度现在可用,并且可从 width 参数中获取此宽度到 imageUpdate 回调方法。
Java的回调函数和观察者模式的区别
java的回调 叫listener 模式。
无论是listener模式,还是C++里面的callback模式,本质是一样的
他们都是观察者模式的具体实现。
观察者模式是设计模式中定义的一种思想,而具体到不同的语言环境,使用不同的语法表现出来就会有java的listener objc的 delegate,或者C++的 callback。