行為型模式之觀察者模式

2021-10-07 10:05:30 字數 941 閱讀 9441

觀察者模式用於描述物件之間的依賴關係,它引入了觀察者和觀察目標兩類不同的角色,並且提供抽象層,使得增加新的觀察者和觀察目標都很方便。

模式定義:物件間的一種一對多依賴關係,使得每當乙個物件狀態發生改變時,其相關依賴物件都得知通知並自動更新。觀察者模式又叫做 發布-訂閱模式、模型-檢視模式、源-***模式或從屬者模式。觀察者模式是一種物件行為型模式。

**實現:

(1) 抽象目標類

public

abstract

class

myusubject

public

void

remove

(myobserver observer)

public

abstract

void

cry();

}

(2)抽象觀察者類

public

inte***ce

myobserver

(3)具體目標類

public

class

catextends

myusubject

}}

(4)具體觀察者類

public

class

mouse

implements

myobserver

}

(5)具體觀察者類

public

class

dogimplements

myobserver

}

(6)客戶端測試類

public

class

clent

}

行為型模式 觀察者模式

物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。subject 抽象的主題,被觀察的物件,提供 attach 和detach observer 物件的介面。concretesubject 具體的被觀察物件,維持 concretesubject 狀態...

行為型模式 觀察者模式

抽象觀察者,及具體觀察者 class abstractobserver class student public abstractobserver virtual void dobadthing 老師沒來應該幹什麼 virtual void onteachercoming 老師來了應該幹什麼 pri...

行為型模式之觀察者OBSERVER

當乙個物件的狀態發生改變時,所以依賴它的物件都會得到通知並被自動更新。在excel中,當資料變化時,與資料對應的 和圖形都會隨之變化。這就需要資料在變化時自行通知其的依賴類,隨之改變。如圖subject物件維持乙個依賴它的觀察物件表,當subject內容發生變化,需要通知觀察者時就會呼叫觀察者物件的...