當乙個物件的狀態發生改變時,所以依賴它的物件都會得到通知並被自動更新。
在excel中,當資料變化時,與資料對應的**和圖形都會隨之變化。這就需要資料在變化時自行通知其的依賴類,隨之改變。
如圖subject物件維持乙個依賴它的觀察物件表,當subject內容發生變化,需要通知觀察者時就會呼叫觀察者物件的update函式。為了降低耦合,subject只知道其有一些列的觀察者,但不知道具體類。subject無需知道它有多少接收者,這要在subject中註冊的都會得到通知。
行為型模式之觀察者模式
觀察者模式用於描述物件之間的依賴關係,它引入了觀察者和觀察目標兩類不同的角色,並且提供抽象層,使得增加新的觀察者和觀察目標都很方便。模式定義 物件間的一種一對多依賴關係,使得每當乙個物件狀態發生改變時,其相關依賴物件都得知通知並自動更新。觀察者模式又叫做 發布 訂閱模式 模型 檢視模式 源 模式或從...
行為型模式 觀察者模式
物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。subject 抽象的主題,被觀察的物件,提供 attach 和detach observer 物件的介面。concretesubject 具體的被觀察物件,維持 concretesubject 狀態...
行為型模式 觀察者模式
抽象觀察者,及具體觀察者 class abstractobserver class student public abstractobserver virtual void dobadthing 老師沒來應該幹什麼 virtual void onteachercoming 老師來了應該幹什麼 pri...