200 likes | 428 Views
第十三章 BBS 论坛系统. 项目介绍 BBS 论坛网站给用户提供一个发布信息和讨论问题的平台,在该网站中,未注册的用户,只能浏览帖子;已注册的会员,可以对各类帖子发表自己的评论;版主可以管理属于自己的版块;管理员有对用户、帖子、版块进行增、删、改的权利;. 第十三章 BBS 论坛系统. 主要实现功能: 用户管理:主要为用户提供用户注册、登录、修改个人信息等功能。用户有三种级别,分别是游客、会员和管理员,其中会员又分为版主和普通用户,具有管理员权限的用户可以增加用户、删除用户和修改用户的信息,游客只能浏览帖子,注册用户即会员可以发表话题和对其他帖子进行回复。
E N D
第十三章 BBS论坛系统 • 项目介绍 • BBS论坛网站给用户提供一个发布信息和讨论问题的平台,在该网站中,未注册的用户,只能浏览帖子;已注册的会员,可以对各类帖子发表自己的评论;版主可以管理属于自己的版块;管理员有对用户、帖子、版块进行增、删、改的权利;
第十三章 BBS论坛系统 • 主要实现功能: • 用户管理:主要为用户提供用户注册、登录、修改个人信息等功能。用户有三种级别,分别是游客、会员和管理员,其中会员又分为版主和普通用户,具有管理员权限的用户可以增加用户、删除用户和修改用户的信息,游客只能浏览帖子,注册用户即会员可以发表话题和对其他帖子进行回复。 • 帖子管理:提供发表帖子、回复帖子、删除帖子和浏览帖子的功能。注册用户可以发表帖子表达自己的看法,发帖要求用户指定帖子标题,用户也可以对已发表的帖子表达自己不同的看法,参与讨论。帖子的发表和回复是论坛的主要功能,所有用户均具有此权限,而帖子的删除需要由系统的版主和管理员来完成。 • 版块管理:版块管理主要是将帖子进行分类,讨论相同话题的帖子放在一个版块中,这样可以使得对某一个话题感兴趣的用户不会受到其他帖子的干扰,有利于相同兴趣的用户相互讨论。管理员具有增加版块、删除版块和修改版块的权限。
第十三章 BBS论坛系统 • 引入第3方组件FreeTextBox • FreeTextBox控件是一个在线编辑器,可以对文字以及图片内容进行处理 ;
第十三章 BBS论坛系统 • 多层架构设计 • 多层式运行架构(n-tiers结构,N层结构)是相对于两层结构而言的。传统的项目一般是UI、BLL、DAL三层,即表示层,逻辑层,数据访问层,随着需求的增大,为了安全有效地在各层间进行数据传输又出现了Model即实体层,用来保存传输的数据 ;
第十三章 BBS论坛系统 • 多层架构设计 • (1) 业务逻辑层(Business Logic Layer,BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑进行处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。 • (2) 数据访问层(Data Access Layers,DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,数据访问层是对数据的操作,而不是数据库,主要用途是为业务逻辑层或表示层提供数据服务。业务逻辑层在数据访问层之上,即BLL调用DAL的类和对象。DAL访问数据并将其结果转给BLL。 • (3) 表现层(WebUI):在ASP.NET中,该层主要包括aspx页面、用户控件以及某些与安全相关的类和对象。 • (4) 实体层(Model):是数据库表的映射。
DataAccess WebUI Business 数据处理对象 CSS 业务处理对象 数据工厂对象 JS 数据接口对象 ASPX 实体层(Model) 第十三章 BBS论坛系统 • 多层架构设计
第十三章 BBS论坛系统 • BBS论坛实现过程 • Model层:实体层主要用来映射数据库中的数据表,它把数据表中各字段都封装在一个类中。一般的,一个实体类对应一个数据表,实体类中的每个属性对应表中相应的字段。这样做的好处是当数据库中需要修改某个字段时,只需修改实体层的对应属性,对其他层不产生影响 ; • 在BBS论坛网站系统中,包含4个实体类,它们分别是Module类(版块类)、Post类(帖子类)和Revert类(回复信息类) ;
第十三章 BBS论坛系统 public class Module { private int moduleId; private string moduleName; private string moduleIntro; //版块Id public int ModuleId { get { return moduleId; } set { moduleId = value; } } //版块名称 public string ModuleName { get { return moduleName; } set { moduleName = value; } } //版块介绍 public string ModuleIntro { get { return moduleIntro; } set { moduleIntro = value; } } } • BBS论坛实现过程 • Model层 • Module类
第十三章 BBS论坛系统 • BBS论坛实现过程 • 数据访问(DAL)层 • SQLHelper类
第十三章 BBS论坛系统 • BBS论坛实现过程 • 数据访问(DAL)层 • UserDAL类
第十三章 BBS论坛系统 • BBS论坛实现过程 • 业务逻辑(BLL)层:业务逻辑层(Business Logic Layer,BLL)在多层架构中,主要用来调用数据访问层中的各个操作类,它将表现层和数据访问层分离开了,更好地解决了各层之间的耦合度; • PostDAL类
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 表现层(WebUI)主要负责内容的展现和与用户的交互,它给予用户直接的体验。在ASP.NET中,表现层就是整个Web站点。具体的内容要根据需求的内容而来,如果仅仅只是内容的展现,可能只需要将数据绑定至控件即可,不需要编写代码;如果需要与用户进行交互,则需要编写相关的代码;
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 设计母版页
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 首页Index.aspx的实现过程
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 发表帖子
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 显示所有帖子的信息
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 帖子的详细信息
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 回复帖子
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 回复信息
第十三章 BBS论坛系统 • 主要功能界面(WebUI层)的实现 • 出错页面