observer設計模式中主要包括如下兩類物件:
subject:監視物件,它往往包含著其他物件所感興趣的內容。在本範例中,熱水器就是乙個監視物件,它包含的其他物件所感興趣的內容,就是temprature欄位,當這個欄位的值快到100時,會不斷把資料發給監視它的物件。
observer:監視者,它監視subject,當subject中的某件事發生的時候,會告知observer,而observer則會採取相應的行動。在本範例中,observer有警報器和顯示器,它們採取的行動分別是發出警報和顯示水溫。
observer設計模式是為了定義物件間的一種一對多的依賴關係,以便於當乙個物件的狀態改變時,其他依賴於它的物件會被自動告知並更新。observer模式是一種松耦合的設計模式
.net framework的編碼規範:
sing system;using
system.collections.generic;
using
system.text;
namespace
delegate
}//可以供繼承自 heater 的類重寫,以便繼承類拒絕其他物件對它的監視
protected
virtual
void
onboiled(boiledeventargs e)
}//燒水。
public
void
boilwater() }}
}//警報器
public
class
alarm - :
", heater.area, heater.type);
console.writeline(
"alarm: 嘀嘀嘀,水已經 度了:
", e.temperature);
console.writeline();}}
//顯示器
public
class
display - :
", heater.area, heater.type);
console.writeline(
"display:水快燒開了,當前溫度:度。
", e.temperature);
console.writeline();}}
class
program
}}輸出為:
alarm:china xian - realfire 001
:alarm: 嘀嘀嘀,水已經
96度了:
alarm:china xian - realfire 001
:alarm: 嘀嘀嘀,水已經
96度了:
alarm:china xian - realfire 001
:alarm: 嘀嘀嘀,水已經
96度了:
display:china xian - realfire 001
:display:水快燒開了,當前溫度:96度。
C Observer設計模式
observer還是比較常見的東西,這裡我們主要介紹c observer設計模式,包括介紹subject 監視物件和observer 監視者等方面。假設我們有個高檔的熱水器,我們給它通上電,當水溫超過95度的時候 1 揚聲器會開始發出語音,告訴你水的溫度 2 液晶屏也會改變水溫的顯示,來提示水已經快...
c observer 設計模式
observer 主要包含2個物件 1.subject 被監視者 監察物件,必須包含乙個監察著感興趣的東西。2.observer 監視者,負責監視subject物件,當subject物件的狀態發生改變會告知 observer 從而採取相應的方法。observer 是一種松耦合的設計模式,為了定義物件...
iOS 設計模式 委託模式
委託是指給乙個物件提供機會對另一物件中的變化做出反應或者相應另乙個物件的行為。其基本思想是協同解決問題。以上情況,結果都一樣 物件b是物件a的 delegate 1 委託 a 需要做的工作有 1.定義 協議,協議名稱的命名規範 控制項類名 delegate 2.定義 方法 3.設定 delegate...