技术开发 频道

基于ASP.NET 3.5与N层架构开发企业SNS

  至此,我们已经实现了博客系统整个后台部分的编程。这些内容看起来可能十分繁多,但是一旦你掌握了里面的规律,你的构建速度可能变得非常迅速。当我们构建视图层时,我们将看到我们所付出的努力所带来的成果:一旦拥有一个恰当设计的后端,创建前端视图页面将变得非常简单。在正式开发视图层之前,还是让我们来归纳一下我们在博客应用程序的后台所创建的内容(业务对象管理器、业务对象及数据访问层的数据对象)。


图1 博客系统主要后端对象类图

  归纳来看,对应于博客系统中的每一个实体,我们定义了四个类。我们不妨以BlogEntry(博客入口)实体为例:

  BlogEntryManager:BlogEntry业务对象的类实例管理器

  BlogEntry:仅拥有属性定义的“哑”业务对象

  BlogEntryDB:博客入口的数据对象

  blogentry(没有显示于上图中):这是博客入口的LINQ数据对象,定义于映射文件中。

  接下来,我们将着手构建博客系统的数据展示层—视图层。借助于上面看似“繁杂”的N层架构设计,在视图层的构建中,你会看到我们只需仅与上面所定义的业务对象管理器进行交互,其他的方面我们毋需考虑。

  开发视图层

  现在,我们终于可以着手构建可视化的视图界面了。存在许多种构建视图层的方案。这里归纳一下我开发这部分时遵循的思路:

  为了简化设计,可以先在网络上搜索一个合适的漂亮的模板作为参考。

  创建母版页面以便重用网站设计中的许多元素。

  构建用户接口页面。

  构建管理员页面。

  (一)设计系统页面的继承架构

  尽管本博客系统中涉及到许多页面,但是不少的页面在内容呈现上极为相似。根据最新的ASP.NET应用设计原则,我们尽量把相同的部分提取出现集中放置到母版页面中。此外,我们在页面设计中还尽量遵循如下原则:

  象背景,页眉和页脚这样的内容需要显示在每一个内容页面上。显然,这样的内容应当放到站点级别的母版页面中。

  用户接口页面继承站点级别母版页面中的元素,但是在两个内容栏目中各自拥有特定的内容。其中,右边栏目将有一组固定的导航选项,而左边栏目(主要内容栏)针对每页面将呈现不同的形式。

  管理员接口页面也将继承站点级别母版页面中的元素,但是在两个内容栏目中各自拥有特定的内容。这个内容将不同于用户接口页面—右边栏目中将出现一个固定数目的系统管理员选项,而对于每一个系统管理员页面左边栏目中内容将是不同的。

  因此,我们将要创建三个母版页面。第一个是站点级别的母版页面Site.Master,第二个用于继承自站点级别母版页面的用户接口母版页面Page.Master,第三个用于也是继承自站点级别母版页面的管理母版页面Admin.Master。我们创建的大部分页面要么继承自Page.Master母版页面(用户接口)要么继承自Admin.Master母版页面。但是两种特殊的页面除外,它们是错误页面和登录页面—它们将直接继承自站点级别母版页面。

0
相关文章