什麼是wpf
wpf是windows presentation foundation的簡稱,顧名思義是專門用來編寫程式表示層的技術和工具。
當今的程式除了一些非常小巧的實用工具外,大部分程式都是多層架構的程式,一般至少包含三層:資料層、業務邏輯層和表示層。
這3層的功能大致如下:
wpf的功能就是用來編寫應用程式的表示層。業務邏輯層和資料層的開發也有專門的新技術。比如業務邏輯層的新技術是wcf(windows communication foundation)和wf(windows workflow foundation)。
微軟平台上用於開發表示層的技術不算少,包括wpf、windows forms、asp.net、silverlight等。無論使用哪種技術作為表示層技術,程式的邏輯層和資料層都是相同的。
wpf和silverlight的關係
微軟的新一代開發技術框架包括wpf、wcf、wf。wcf的用途是編寫分布式應用程式的業務邏輯層,並以網路服務的形式暴露給客戶端的服務消費者,基於wcf和entity framework的wcf data service和wcf ria service是微軟迄今最佳的資料訪問層。wf的主要作用是設計工作流,程式語言正是wpf的介面設計語言——xaml。
微軟定義silverlight是wpf的乙個子集,是wpf的網路版。微軟新一代手機平台windows phone 7採用它來作為開發平台(此前的windows mobile系統使用的是簡化版的windows forms開發平台)。
為什麼要學習wpf
只要開發表示層程式就不可避免的要與4種功能性**打交道:
資料模型:現實世界中事物和邏輯的抽象。
業務邏輯:資料模型之間的關係與互動。
使用者介面:由控制項構成的、與使用者進行互動的介面,用於把資料展示給使用者並響應使用者的輸入。
介面邏輯:控制項與控制之間的關係與互動。
在保持**可維護性的前提下,如何讓資料能夠順暢地到達介面並靈活顯示,同時方便地接收使用者的操作歷來都是表示層開發的核心問題。為此人們研究出了各種各樣的設計模式,其中有經久不衰的mvc(model-view-controler)模式、mvp(model-view-presenter)模式等。在wpf出現之前,windows forms、asp.net等技術均使用「事件驅動」理念。wpf則是由「事件驅動」變為「資料驅動」。
事件驅動時代,使用者每進行乙個操作就會激發程式發生乙個事件,事件發生後,用於響應事件的事件處理器就會執行。事件處理器是乙個方法(函式)。事件驅動時代的資料時靜態的、被動的。介面控制項是主動的、介面邏輯與業務邏輯之間的橋梁是事件。而資料驅動正好相反,當資料發生變化時,會主動通知介面控制項、推動控制項展示最新的資料,同時使用者對控制項的操作會直接送達資料。資料驅動理念中資料佔據主動地位,控制項和控制項事件被弱化。wpf中資料與空間的關係就是資料驅動介面。
Asp HTTP 簡要介紹
asp http 簡要介紹 特性 1 get post head 請求方法 2 response 回應 頭可見 3 accept 接受 頭可修改 4 超時時間可調整 5 支援proxy 6 自定義客戶 頭 7 自定義posts的內容 型別頭 8 重定向 9 支援驗證內容 10 從url獲得檔案 包括...
Ransac 簡要介紹
什麼是ransac?ransac是randomsampleconsensus 隨機抽樣一致性 的縮寫。它是從乙個觀察資料集合中,估計模型引數 模型擬合 的迭代方法。它是一種隨機的不確定演算法,每次運算求出的結果可能不相同,但總能給出乙個合理的結果,為了提高概率必須提高迭代次數。ransac很強大。如...
Intel DPDK 簡要介紹
intel dpdk intel dpdk的介紹沒講,但它的技術點卻想講一下,因為這些技術點並沒有什麼特別,所以雖然我們也許無法使用dpdk,但可以使用這些技術點,dpdk主要用到三個技術點分別為hugetlbpage uio以及cpu affinity。關於hugetlbpage,之前講過,它的主...