觀察者模式用於描述物件之間的依賴關係,它引入了觀察者和觀察目標兩類不同的角色,並且提供抽象層,使得增加新的觀察者和觀察目標都很方便。
模式定義:物件間的一種一對多依賴關係,使得每當乙個物件狀態發生改變時,其相關依賴物件都得知通知並自動更新。觀察者模式又叫做 發布-訂閱模式、模型-檢視模式、源-***模式或從屬者模式。觀察者模式是一種物件行為型模式。
**實現:
(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內容發生變化,需要通知觀察者時就會呼叫觀察者物件的...