UI端編程的22個問題


      接下來我所要講解的,是一個宏大的主題,結合了我這些年來從事UI端編程的經驗,我將用一系列文章來搭建用戶界面(UI)的底層框架,這里我使用的技術實現是Silverlight,但是,你將會發現,我所介紹的都是UI端的設計思想,所以是超越於語言,是不局限於技術實現的,所以,它將適用於Windows Form, WPF, FLEX, HTML5,以及所有手機編程領域Phone7, IOS, Android。

      分類如下:

 

      框架級別:

          1) Wait Cursor

 

          在調用Service端方法的時候,如何能鎖住當前的UI,直到Service返回結果,用戶才能繼續操作。

 

 

          2) Chain of Async methods

 

 

          如何將異步方法轉化為同步方法,這將使我們的代碼更加清晰。

 

 

          3) Domain Cache

 

 

          如何在客戶端緩存一些數據,比如說國家列表,學校列表,等等。

 

 

          4) Code Injection

 

 

          如何巧妙的注入一些代碼,使UI端的代碼更優雅。

 

 

          5) UI Logger

 

 

          如何記錄UI端的日志。

 

 

          6) Exception

 

 

          如何設計Service端的異常的處理機制,就是有Exception,也要友好的顯示給UI端。

 

 

          7) Abstraction

 

 

          如何設計用戶界面的接口和基類。

 

 

      功能設計:

 

 

          8) View Split

 

 

          如何更加有效的將一個復雜的頁面拆分成多個小頁面。

 

 

          9) Navigation

 

 

          如何設計導航,包括菜單,導航樹,導航器。

 

 

          10) On-Site Edit

 

 

          如果設計在線編輯(On-Site Edit),也就是通常所謂的CRUD,一攬子解決方案。

 

 

          11) Popup

 

 

          如何統一彈出框。

 

 

          12) Server paging/filter/sorting

 

 

          如何處理大量數據的顯示,比如分頁,排序和過濾,可以是UI端來做,也可以是Service端來做。

 

 

      MVVM設計:

 

 

          13) MVVM

 

 

          如何將數據從界面邏輯中剝離出來。

 

 

          14) Event

 

 

          如何建立我們自己的事件機制

 

 

          15) Command

 

 

          如何建立我們自己的命令機制,以及如何將事件轉化為命令

 

 

          16) UI Unit Test

 

 

          如何設計UI端的單元測試。

 

 

      綜合設計:

 

 

          17) Validation

 

 

          如何設計客戶端的驗證體制,從而讓用戶總是提交有效的數據。

 

 

          18) Concurrency

 

 

          如何處理並發操作,當然,這也是從UI、Service和DB層同時考慮的。

 

 

          19) Mock data

 

 

          如何Mock一些數據,使UI端的開發不依賴於Service

 

 

          20) Print/Export

 

 

          如何打印和導出數據

 

 

          21) Performance Tuning

 

 

          如何調試性能,當然,不止局限於UI端。

 

 

          22) Work with UX team

 

 

          如何組織UI端項目的結構,以及如何與美工協作。

 

 

      總而言之,這都是一些經驗的匯總,是一些通用的模式,出於對GOF的Design Pattern的尊敬,我在上面只列出了22個場景(其實是我實在想不出第23個,而又不想隨便寫一個來湊數)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM