NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导
5 決定數據綁定的需求
數據綁定在應用中,提供了一種在用戶界面的控件和數據或者邏輯組件建立連接的方式。數據綁定允許你將數據庫的數據,或者是其他結構的數據進行顯示或者和他們進行交互。數據綁定是綁定目標(用戶控件)和綁定源(數據結構、Model、或者是表現層邏輯組件)之間的橋梁。
?
數據綁定控件是一些綁定到數據源的控件。例如:DataGrid控件綁定要一個集合。數據綁定通常使用在分離的表現模式(Views),綁定到Presenters或者是Controllers,或者是表現層的實體組件。
對于每一個用戶界面技術,對數據綁定的支持,和具體的實現,都不盡相同。通常來說,都可以綁定控件和對象或者集合。但是,也有需要數據源實現接口和事件,才可以支持數據綁定,例如:WPF中的INotifyPropertyChanged,和Windows Forms中的IBindingList。如果你使用分離的表現模式,確保你的表現邏輯和數據組件支持所需的接口和事件,使得用戶控件可以很容易的進行綁定。
通常有兩種類型的綁定可以使用:
- One-way:單向綁定。改變源屬性,自動更新目標屬性,但是改變目標屬性,不會影響源屬性。這種適合使用在控件是只讀的情況,如果沒有必要監測目標屬性的變化的話,可以選擇單向綁定,避免不必要的負載。
- Two-way:雙向綁定。改變源屬性或者是目標屬性,都會影響到對方。這種綁定適合用在可編輯的情況,很多控件都支持雙向綁定,可以在數據源改變的時候影響到控件,也可以在控件改變的時候影響到數據源。
6 確定錯誤處理策略
用戶界面組件是應用的外部邊界,因此需要你選擇適當的錯誤處理策略,最大化應用的穩定性,提供更好的用戶體驗。可以參考下面的步驟:
- 設計集中管理的異常處理機制。異常和錯誤處理是一個跨層的關注,應該使用分離的組件來實現,使它可以跨層訪問。也更容易維護,提高復用性。
- 日志記錄異常信息。記錄異常日志是非常關鍵的,你可以用來發現和診斷錯誤。對表現層組件來說很重要。但是要小心個人身份信息和安全敏感信息,要小心日志的數量和位置。
- 給用戶顯示友好的提示信息。避免直接顯示錯誤信息,應該提供有好的錯誤提示??紤]提示用戶如何修改這個錯誤,或者是正確的格式。
- 允許用戶重新嘗試。在提示用戶的情況下,還可以允許用戶重新嘗試。在一些情況下非常有用,例如網絡超時、臨時性的斷網啊。
- 顯示一致的提示信息。避免暴露敏感信息。
7 確定有效性性驗證策略
一個有效的輸入驗證策略可以幫助過濾不希望的輸入,惡意的數據,保護你的應用不受攻擊。典型的,在表現層的輸入驗證,業務規則驗證發生在業務邏輯層的業務組件。在設計驗證策略的時候,一定要確定所有的輸入數據都是合法的。例如:從web客戶端的一個輸入,參數(get、post、查詢字符串),隱藏字段,viewstate都應該被驗證。通常情況,你應該驗證所有從不可信源來的數據。
對于應用的客戶端組件和服務端組件來說,例如RIA和富客戶端應用,一定要在服務端再次驗證那些已經在客戶端進行過的驗證。在客戶端進行驗證,如果用戶輸入非法的數據,可以帶給用戶快速的響應??梢怨澥r間和帶寬,但是要意識到惡意的攻擊可能會繞過客戶端的驗證。
在確定了需要驗證的數據之后,再來決定你的驗證技術。通常包括:
- 支持已知的正確數據。只是接受所有符合條件的數據,拒絕所有其他的數據。
- 決絕已知的錯誤數據。接受不滿足錯誤條件的數據。
- 審查。消除和翻譯不合法的數據,使得輸入數據安全。
不同的表現層技術使用不同的驗證方式。例如:WPF,使用xaml的轉換器和驗證規格對象。在Windows Forms中使用驗證和綁定事件。
模式 & 實踐小組的推薦
- Composite Application Guidance for WPF and Silverlight
- patterns & practices – Enterprise Library
- Software Factory
- patterns & practices - Unity
未完待續。。。。。。。。。。。。。。。。。。。。。。。。。。。
轉載于:https://www.cnblogs.com/virusswb/archive/2010/06/06/DotNET-Application-Architecture-Guide-V2-19.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11g compression 新特性(
- 下一篇: Adobe宣布不再针对iPhone开发F