軟體設計模式 觀察者模式

2021-07-16 04:54:56 字數 1286 閱讀 3672

參考:
定義了一種一對多的依賴關係,讓多個觀察者物件監聽某乙個主題物件。這個主題物件在狀態發生變化時,會通知所有觀察者物件,使它們能夠自動更新自己。

#include "observer.h"

#include #include using namespace std;

observer::observer()

{}observer::~observer()

{}concreteobservera::concreteobservera()

{}concreteobservera::~concreteobservera()

{}void concreteobservera::update(subject* psubject)

concreteobserverb::concreteobserverb()

{}concreteobserverb::~concreteobserverb()

{}void concreteobserverb::update(subject* psubject)

subject::subject()

{}subject::~subject()

{}void subject::attach(observer* pobserver)

void subject::detach(observer* pobserver)

cout << "detach an observer\n";

}void subject::notify()

}string subject::getstate()

void subject::setstate(string state)

concretesubjecta::concretesubjecta()

{}concretesubjecta::~concretesubjecta()

{}concretesubjectb::concretesubjectb()

{}concretesubjectb::~concretesubjectb()

{}

mian.cpp

#include "observer.h"

#include using namespace std;

int main()

現象:

軟體設計模式 觀察者模式(Observer)

當物件間存在一對多關係時,則使用觀察者模式 observer pattern 比如,當乙個物件被修改時,則會自動通知它的依賴物件。觀察者模式屬於行為型模式。1 拍賣的時候,拍賣師觀察最高標價,然後通知給其他競價者競價。2 西遊記裡面悟空請求菩薩降服紅孩兒,菩薩灑了一地水招來乙個老烏龜,這個烏龜就是觀...

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

軟體設計模式我的個人理解 1.寫過的東西不要重複寫,浪費人力,畢竟現在都提倡低碳環保。2.軟體不是搬磚,一層一層不停的壘上去,那是苦力,善於發現共通的地方,模組化拼接。3.軟體不是寫給自己的,大家一起要能看,這是全人類的財富,符合統一規範,也要別人能理解你,更輕鬆的理解你。觀察者模式 首先把其他小名...

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

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