簡單地說,觀察者模式定義了乙個一對多的依賴關係,讓乙個或多個觀察者物件監察乙個主題物件。這樣乙個主題物件在狀態上的變化能夠通知所有的依賴於此物件的那些觀察者物件,使這些觀察者物件能夠自動更新。
不多說了,直接給出實現:
例1:
/*** 對某個事件只有乙個訂閱者的例子
* @author yongxing.shao
* */
public
class
oneobserverexample
}//對某事件感興趣的觀察者介面
inte***ce
iobserver
/** * 當一事件發生時,需要通知實現iobserver介面的物件,並呼叫interesingevent()方法
* @author yongxing.shao
* */
class
eventnotifier
public
void
dowork()}
}/**
* 觀察者實現
* @author yongxing.shao
* */
class
observer
implements
iobserver
//實現事件發生時,實際處理事件的方法
public
void
processinterestedevent
()}
例2:
/*** 對某個事件存在多個訂閱者
* @author yongxing.shao
* */
public
class
manyobserverexample
}/**
* 對某事件感興趣的觀察者介面
* @author yongxing.shao
* */
inte***ce
iobserver
class
observer
implements
iobserver
//實現事件發生時,實際處理事件的方法
public
void
processinterestedevent
(string
event)}
/** * 當一事件發生時,需要通知實現iobserver介面的物件,並呼叫interesingevent()方法
* @author yongxing.shao
* */
class
eventnotifier
public
void
dowork()}
}
觀察者模式java
根據headfirst做出實現如下 主題,觀察者,顯示三個介面。public inte ce observer public inte ce subject public inte ce displayelement 氣象資料實現主題介面 public class weather implement...
JAVA 觀察者模式
實現觀察者模式涉及到乙個類和乙個介面 observable類和observer介面 被觀察的類需要繼承observable類,在該類中的常用方法有 public voidaddobserver observer o 增加乙個觀察者觀察自己 public voiddeleteobserver obse...
java 觀察者模式
觀察者模式顧名思義就是觀察乙個物件的變化並且做相應的動作。舉個例子 乙個學生可以有學習,睡覺的動作,但是如果在他做這些事情之前他媽媽提醒他下面該作甚麼。一旦他學習,就提醒他要先預習課程,一旦他睡覺就提醒他要先洗腳。我們來先定義乙個學生實體 public class student public st...