冬Blog

醉心技术、醉心生活
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

微型项目实践(10):Master & Default

Posted on 2008-05-26 10:09  冬冬  阅读(3411)  评论(29编辑  收藏  举报

上一篇中,我们分析了UI层的结构和PageBase类,今天我们把注意力转移到页面中来。下面这个图是我们系统的最终效果图:

image

这个当然不是我做的,我也做不出来:), 但是我想大体介绍一下页面的制作流程和一些经验技巧:

  1. 需求分析人员分析并确定需要哪些页面。有时候(大部分时候)只考虑首页,因为首页能确定系统的风格。定下首页其他页面基本上就有着落了。
  2. 需求分析人员和客户讨论页面的风格、色调。系统的风格通常是一些形容词,比如简约、明快等。良好的方式是准备很多图片(网页模板更好)给用户看,让他选,这样可以很直观的了解到用户需要什么风格的页面。而且这个图片或模板可以作为美工制作页面的基础。
  3. 需求分析人员和用户讨论并确定页面里包含什么。比如最新文章列表、热门文章列表、登录框之类的,如果用户在这方面缺乏经验的话,我们要引导用户,比如提供一个可能包含的内容的列表,让用户去选。
  4. 把用户提出的要求和美工人员进行协调,当然,如果能让美工参与到1-3步中来,这一步就省了,而且效果更好。
  5. 美工制作PSD效果图,和用户就此进一步交流,修改,直至客户满意。这里有个问题,就是用户对你拿出的页面设计通常很不满意,甚至大失所望,而且美工人员对于客户的意见又很容易抵触,需求人员(你)夹在两者中间,很难处理。解决的办法是,让美工人员在第一次设计时就拿出3-5种版式,每个版式出2-3种配色,这对一个熟练的美工应该不是困难的事情。然后就这十几种方案和用户讨论,这样做有以下好处:第一、用户觉得你很认真负责,对你的印象很好,进而影响他对页面设计的印象,真的,事情有时候就是这么不可思议;第二、让用户在多个页面之间作选择,满足了他下决定的欲望,就很少提出修改意见;第三、对于美工来说,总的工作量一样(甚至更少),但是感觉要好;第四、多余的页面不会浪费,以后的项目改改还能用。
  6. 切PSD,出Html、CSS和JavaScript。这一步做起来没什么问题,问题是这一步谁来做?美工熟悉PS,对Html和CSS也了解,JavaScript就不一定了。更重要的是,一般美工写出来的Html不会考虑代码怎么填,让程序员很为难;而程序员了解Html、CSS,JavaScript也不在话下,但是切PSD就有点儿勉强了。解决办法是:美工和程序员结对干。
  7. 填写页面代码。

好了,说了这么多题外话,我们回到项目中来。这套页面中,顶部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请参看代码。

今天到这里,下一篇文章中,我们分析页面中的控件。

代码下载