設計模式之觀察模式

2021-10-07 16:55:09 字數 1079 閱讀 7694

我們使用jdk提供的api來實現乙個觀察者模式,學生向老師提問問題,然後通知老師有學生提問,這個案例裡面,老師屬於觀察者,需要實現observer介面。學生屬於被觀察者,需要繼承observable類。學生發生變化通知老師。

public class student extends observable 

public void setname(string name)

public void askquestions(string question)

}public class teacher implements observer

}public static void main(string args)

private static final long serialversionuid = 1l;

private string eventtype;

private string message;

public string geteventtype()

public void seteventtype(string eventtype)

public string getmessage()

public void setmessage(string message)

public messageevent(object source)

}

@component

string eventtype = event.geteventtype();

string message = event.getmessage();

//發布事件的物件

object object = event.getsource();

}}

public static void main(string args)
上面我們就是用spring完成了乙個簡單的觀察者模式,如果結合spring ***awrae則可以監聽spring的生命週期。現實場景中用到的觀察者模式還是很多的。觀察者和被觀察者之間建立了乙個抽象的耦合。並且支援廣播的模式。

設計模式之觀察這模式

觀察者模式 既關注的主題發生變化通知觀察者 實現方式 兩個介面 1 主題介面 包含新增 刪除觀察者以及通知觀察者更新資料的方法 2 觀察者介面 規定具體觀察者用來更新資料的方法 介面實現 1 主題介面實現 實現主題介面的乙個例項,通常需要使用乙個集合arraylist存放觀察者引用,以便資料變化時通...

設計模式之觀察者設計模式

事件源 就是被監聽的物件,事件類 裡面封裝了事件源物件,裡面繫結了事件類,在 裡面拿到事件類物件,就可以監聽事件源中的行為 呼叫了什麼方法 public inte ce studentlistenerpublic class student public string getname public ...

設計模式之觀察者模式

首先說了乙個自己的小例子吧,前兩天我的乙個朋友來找我玩,因為路途比較遠,我需要知道他的位置,然後安排好時間去接他,那麼在這個例子中,我就是乙個觀察者,需要時時刻刻觀察他的位置,我的朋友就是乙個被觀察者。那麼需要知道我朋友的位置,就有兩種方式,第一,我自己打 問,第二,我的朋友告訴我,下面我們來看看這...