C# 事件
Observer Pattern
觀察者模式(有時又被稱為發布/訂閱模式)是軟體設計模式的一種。
在此種模式中,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。這通常透過呼叫各觀察者所提供的方法來實現。此種模式通常被用來實作事件處理系統。
真實世界的應用
跨執行緒更新UI
Sample:SimpleCrossThread
真實世界的應用
三種非同步模型
EAP
(Event-based Asynchronous Pattern)
因為時間的關係所以我只會使用EAP來演練
EAP 其實我們很常見
需要用+=來進行註冊,利如:this.button1.Click += new System.EventHandler(this.button1_Click);
實作 EventArgs
宣告 delegate
宣告 event
定義 On 開頭的前綴詞方法體
使用內建 EventHandler<T> delegate
EventHandler 就是傳入兩個參數,object,TEventArgs 沒有回傳值的委派
public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e);
sender代表的是觸發事件的來源物件
e 代表的是通知內容
APM
(Asynchronous Programming Model)
TAP
(Task-based Asynchronous Pattern)