上一篇中,我们分析了UI层的结构和PageBase类,今天我们把注意力转移到页面中来。下面这个图是我们系统的最终效果图:
这个当然不是我做的,我也做不出来:), 但是我想大体介绍一下页面的制作流程和一些经验技巧:
- 需求分析人员分析并确定需要哪些页面。有时候(大部分时候)只考虑首页,因为首页能确定系统的风格。定下首页其他页面基本上就有着落了。
- 需求分析人员和客户讨论页面的风格、色调。系统的风格通常是一些形容词,比如简约、明快等。良好的方式是准备很多图片(网页模板更好)给用户看,让他选,这样可以很直观的了解到用户需要什么风格的页面。而且这个图片或模板可以作为美工制作页面的基础。
- 需求分析人员和用户讨论并确定页面里包含什么。比如最新文章列表、热门文章列表、登录框之类的,如果用户在这方面缺乏经验的话,我们要引导用户,比如提供一个可能包含的内容的列表,让用户去选。
- 把用户提出的要求和美工人员进行协调,当然,如果能让美工参与到1-3步中来,这一步就省了,而且效果更好。
- 美工制作PSD效果图,和用户就此进一步交流,修改,直至客户满意。这里有个问题,就是用户对你拿出的页面设计通常很不满意,甚至大失所望,而且美工人员对于客户的意见又很容易抵触,需求人员(你)夹在两者中间,很难处理。解决的办法是,让美工人员在第一次设计时就拿出3-5种版式,每个版式出2-3种配色,这对一个熟练的美工应该不是困难的事情。然后就这十几种方案和用户讨论,这样做有以下好处:第一、用户觉得你很认真负责,对你的印象很好,进而影响他对页面设计的印象,真的,事情有时候就是这么不可思议;第二、让用户在多个页面之间作选择,满足了他下决定的欲望,就很少提出修改意见;第三、对于美工来说,总的工作量一样(甚至更少),但是感觉要好;第四、多余的页面不会浪费,以后的项目改改还能用。
- 切PSD,出Html、CSS和JavaScript。这一步做起来没什么问题,问题是这一步谁来做?美工熟悉PS,对Html和CSS也了解,JavaScript就不一定了。更重要的是,一般美工写出来的Html不会考虑代码怎么填,让程序员很为难;而程序员了解Html、CSS,JavaScript也不在话下,但是切PSD就有点儿勉强了。解决办法是:美工和程序员结对干。
- 填写页面代码。
好了,说了这么多题外话,我们回到项目中来。这套页面中,顶部Banner和右边栏在所有的页面中是一样的,而左边主要部分是变化的。不变的部分可以抽象出一个Master页来,进而,我们需要一个类似PageBase的MasterBase,代码如下:
1: using ...
10:
11: namespace DongBlog.UI
12: {
13: /// <summary>
14: /// Master页的基类
15: /// </summary>
16: public class MasterBase : MasterPage
17: {
18: private IDatabase _Database = DatabaseGateWay.GetNewDatabase();
19:
20: /// <summary>
21: /// 取得数据库访问
22: /// </summary>
23: protected IDatabase Database
24: {
25: get { return _Database; }
26: }
27: }
28: }
该类除了名称和继承于MasterPage之外,和PageBase完全相同。然后我们就可以新建基于该类的Master页:Main.Master,以及该页面的第一个ContentPage:Default.aspx。接下来,将需要的图片拷贝到项目中来,然后编写Html和CSS。具体的Html请参看代码。
今天到这里,下一篇文章中,我们分析页面中的控件。