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

2021-07-30 18:48:42 字數 1596 閱讀 8439

▶ 事件源:就是被監聽的物件,

▶ 事件類:裡面封裝了事件源物件,

▶ ***:裡面繫結了事件類,在***裡面拿到事件類物件,就可以監聽事件源中的行為(呼叫了什麼方法)

//***

public

inte***ce studentlistener

public

class student

public string getname()

public

void

study()

system.out.println(name + "在學習");

}public

void

sleep()

system.out.println(name + "要睡覺");

}public

void

addstudentlistener(studentlistener listener)

}

//封裝事件源物件:student事件

public

class studentevent

public object getsource()

}

//demo

public

class studentlistenerdemo

@override

public

void

presleep(studentevent e)

});s.sleep();/*列印:小明明睡個好覺小明明要睡覺*/

s.study();/*列印小明明喝杯牛奶吧小明明在學習*/

}}

//典型的窗體事件:

public

class

framedemo

}class

mywindowlistener

extends

windowadapter

@override

public

void windowclosing(windowevent e)

}

//spring的啟動時監聽,就是使用的監聽,它監聽的是servletcontextevent

public

class

contextloaderlistener

extends

contextloader

implements

servletcontextlistener

public

super(context);

}

@override

public

void

contextinitialized(servletcontextevent event)

@override

public

void

contextdestroyed(servletcontextevent event)

}

python 設計模式 觀察者 觀察者設計模式

在觀察者設計模式這種模式中,物件被表示為等待事件觸發的觀察者。一旦發生指定的事件,觀察者就會關注該主體。當事件發生時,主體告訴觀察者它已經發生。以下uml圖表示觀察者模式 如何實現觀察者模式?現在讓我們來看看如何實現觀察者模式。參考以下實現 import threading import time ...

設計模式之觀察者模式

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

設計模式之觀察者模式

一 作用 讓多個觀察者監視某一物件的變化,如果物件變化,則通知所有觀察者。二 例子 抽象主題類 public abstract class subject 移除觀察者 public void detach observer observer 向觀察者 們 發出通知 public void notif...