WPF介面設計的模式

2021-05-22 18:03:20 字數 1563 閱讀 4906

wpf的資料繫結與presentation model相集合是非常好的做法,使得開發人員可以將view和邏輯分離出來,是wpf所特有的,所以我們又稱之為model-view-viewmodel (mvvm)。這種模式跟經典的mvp(model-view-presenter)模式很相似,除了你需要乙個為view量身定製的model,這個model就是viewmodel。viewmodel包含所有由ui特定的介面和屬性,並由乙個viewmodel的檢視的繫結屬性,並可獲得二者之間的鬆散耦合,所以需要在viewmodel直接更新檢視中編寫相應**。資料繫結系統還支援提供了標準化的方式傳輸到檢視的驗證錯誤的輸入的驗證。

在檢視(view)部分,通常也就是乙個aspx頁面。mvp裡的m其實和mvc裡的m是相似的,都是封裝了核心資料、邏輯和功能的計算關係的模型,而v是檢視(窗體),p就是封裝了窗體中的所有操作、響應使用者的輸入輸出、事件等,與mvc裡的c差不多,區別是mvc是系統級架構的,而mvp是用在某個特定頁面上的,也就是說mvp的靈活性要遠遠大於mvc,實現起來也極為簡單。從iview這個inte***ce層來解析,它可以把各類ui與邏輯層解耦,同時可以從ui層進入自動化測試自動化測試(unit/automatic test)並提供了入口,在以前可以由win form/web和form/mfc等編寫的ui是通過事件windows訊息與iview層溝通的。wpf與iview層的溝通,最佳的手段是使用binding,也可以使用事件;presenter層要實現iview,多型機制可以保證執行時ui層顯示恰當的資料。比如在程式中繫結, binding的source是某個inte***ce型別的變數,實際上,這個inte***ce變數引用著的物件才是真正的資料來源。這些模式也是依次進化而形成mvc—>mvp—>mvvm。iview作為公共檢視介面約束的一層意思,view則能傳達解耦的一層意思。 因為

wpf技術出現,從而使

mvp設計模式有所改進,

mvvm

模式便是使用的是資料繫結基礎架構,它們可以輕鬆構建

ui的必要元素。

view

繫結到viewmodel

,然後執行一些命令在向它請求乙個動作。而反過來,

viewmodel

跟model

通訊,告訴它更新來響應

ui,這樣便使得為應用構建

ui非常的容易。往乙個應用程式上貼乙個介面越容易,外觀設計師就越容易使用

blend

來建立乙個漂亮的介面。同時,當

ui和功能越來越鬆耦合的時候,功能的可測試性就越來越強。在

mvp模式中,為了讓

ui層能夠從邏輯層上分離下來,設計師們在

ui層與邏輯層之間加了一層

inte***ce

。無論是

ui開發人員還是資料開發人員,都要尊重這個契約、按照它進行設計和開發。這樣,理想狀態下無論是

web ui

還是window ui

就都可以使用同一套資料邏輯了。借鑑

mvp的

iview

層,view model

比presenter

更恰當;而把一些跟事件、命令相關的東西放在

controler

裡。

WPF介面設計的方式

靈活的 ui自動化 microsoft ui 自動化是 microsoft windows 的新增輔助功能框架,可用於支援 wpf 的所有作業系統。ui自動化對桌面上的大多數使用者介面 ui 元素提供程式設計訪問,從而使如螢幕閱讀器的輔助技術產品能夠向終端使用者提供有關 ui的資訊,並通過標準輸入以...

mysql窗體設計模式 介面設計模式

內容來自 designing inte ces 1。安全探索 safe exploration 2。即時滿足 instant gratification 人們希望立刻從他們的行為看到結果。使用者,特別是新使用者應該讓他在最初使用軟體的幾秒內就得到成功的體驗。即時滿足也意味著不應該把介紹性的功能隱藏在...

UI介面設計 介面設計流程

人類社會逐步向非物質社會邁進,網際網路資訊產業已經走入我們的生活。在這樣乙個非物質社會中,與軟體這些非物質產品再也不象過去那樣緊緊靠技術就能處於不敗之地。工業設計開始關注非物質產品。但是在國內依然普遍存在這樣乙個稱呼 美工 工 的意思就是沒有思想緊緊靠體力工作的人。這是乙個很愚昧的做法,愚昧在於稱呼...