學C 之設計模式系列筆記(2)觀察者模式

2022-08-27 22:54:16 字數 474 閱讀 5249

一、借鑑說明

1.《head first design patterns》(中文名《深入淺出設計模式》)

2.維基百科,觀察者模式,

3.msdn,event(c#參考),

二、觀察者模式

提供乙個被觀察者(資料庫、通知中心等),多個觀察者註冊到該被觀察者上,當觀察者關心的資料改變的時候,被觀察者會通知各個觀察者。被觀察者可以將資料主動地傳給觀察者(推方式)或者觀察者在接到通知後主動向被觀察者獲取資料(拉方式)。

當乙個物件依賴另乙個物件的資料變化的時候,或者子執行緒非同步操作完成後通知主線程的時候,可以考慮使用觀察者模式。

設計模式(c#)的相關**我都放在git上:

望互相學習,謝謝

1.封裝原則

2.多用組合(has-a),少用繼承(is-a)

3.盡量"面向介面"

4.追求"松耦合"

HeadFirst設計模式之觀察者模式學習

pragma once include include include using namespace std 觀察者類的定義 class suscriber 出版者類的定義 主題 class publisher class ytouchsubsciber public suscriber 公有繼承...

設計模式系列 觀察者模式

觀察者模式定義了物件之間的一對多依賴,讓多個觀察者物件同時監聽乙個主體物件。當主體物件發生變化時,它的所有依賴者 觀察者 都會收到通知並更新。觀察者模式主要用於在關聯行為之間建立一套觸發機制的場景,支援廣播通訊。觀察者模式也被稱為 發布 訂閱模式。場景 新聞社開發了一套新聞訂閱服務,他們會給每個訂閱...

c 設計模式之觀察者模式

觀察者模式 observer 定義 觀察者模式定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。這個主題物件在狀態上發生變化時,會通知所有觀察者物件,讓它們能夠自動更新自己。觀察者模式類結構圖 觀察者模式的角色 subject抽象主題角色 把所有對觀察者物件的引用儲存在乙個集合中,...