表示層是一個系統的“門臉”,不論你的系統設計的多麼優秀,代碼多麼漂亮,系統的可擴展性多麼高,但是最終用戶接觸到的大多是表示層的東西。所以,表示層的優劣對於用戶最終對系統的評價至關重要。一般來說,表示層的優劣有一下兩個評價指標:
1.美觀。即外觀設計漂亮,能給人美的感覺。
2.易用。即具有良好的用戶體驗,用戶用起來舒服、順手。
表示層的設計牽扯到很多非技術性問題,如美工、用戶心理學等問題,但是在這篇文章中,將不過多涉及這些問題,一來是我的水平有限,二來是這些內容和本系列文章的關系不是很密切。這裡將主要從技術實現的角度討論表示層的設計。
一般來說,表示層的職責有以下兩點:
1.接受用戶的輸入。
2.向用戶呈現信息。
總體來說,就是與用戶的交互。
而表示層的實現技術也是多種多樣的,如C/S架構下一般使用Windows窗體技術(甚至是命令行窗體),而B/S架構下主要是使用Web頁的形式實現。而且在Ajax技術出現以後,又分出了同步模型的B/S架構實現和異步模型的B/S架構實現。在這篇文章中,將主要討論同步模型下B/S架構的表示層實現,而基於AJax技術的異步模型將在下一篇中討論。
另外,提到表示層的實現,大家一定會想到MVC這個詞,不錯MVC已經成為表示層設計的經典模式。J2EE平台上的Struts和最近微軟推出的ASP.NET MVC都是實現MVC模式的框架。但是為了突出本系列文章的的重點——分層,而且也為了照顧初學者。這裡將不設計MVC模式,而是用傳統的ASP.Net編程模型來完成表示層的設計。
一下的所有討論,將圍繞“管理員登錄”這個用例展開。下面我們來逐步實現管理員登錄的表示層設計。
1.設計界面
為實現這個功能,我們首先要有一個Web頁面。設計好的頁面如下圖所示:(時間所迫,實現過於簡陋,各位見諒)