關於《Windows 8.x App市集應用程式開發-使用C#與XAML》的補充資料
日前於書店閱讀《Windows 8.x App市集應用程式開發-使用C#與XAML》[1]一書,書中《Chapter 16 處處非同步》關於IAsyncResult介面與Task類別的描述似乎與MSDN Library有所出入,特此補充以利日後查證。
第一、書中的範例先舉IAsyncResult介面,再補充Task類別,並指出只要學習一種即可。但是.Net Framework提供的非同步模式包含三種,依序是Asynchronous Programming Model (APM)、Event-based Asynchronous Pattern (EAP)與Task-based Asynchronous Pattern (TAP)。而MSDN Library的建議是使用第三種。[2]
第二、,書中並提及Task類別的由來有其歷史淵源,但是依據MSDN Library的版本資訊,IAsyncResult介面自.Net Framework 1.0版開始支援[3],Task類別自.Net Framework 4.0版開始支援[4]。
資料來源:
[1]Windows 8.x App市集應用程式開發-使用C#與XAML
http://www.books.com.tw/products/0010640970
[2]Asynchronous Programming Patterns
http://msdn.microsoft.com/en-us/library/jj152938(v=vs.110).aspx
[3]IAsyncResult.IsCompleted Property
http://msdn.microsoft.com/en-us/library/system.iasyncresult.iscompleted(v=vs.110).aspx
[4]Task Class
http://msdn.microsoft.com/en-us/library/system.threading.tasks.task(v=vs.110).aspx