3。2 开发步骤
1分析系统的需求
2设计数据库以及表
3搭建开发环境,建立项目
4设计前台以及后台页面
5功能模块实现
6测试以及美化系统
3。3 系统总体结构设计
本系统采用的是三层架构(3-tier architecture),通常意义上的三层架构就是将整个业务应用划分为:界面层(User Inference layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。在月亮湾社区新闻管理系统中,主要分为以下几层:Entity、DBUitility、Common、DAL、BLL以及Star[5]。
3。3。1 Entity 实体类
Entity,顾名思义,是用来存放实体类的,它是数据库表的映射,可以把它想象成一个真正的对象(带有数据)。实体类主要有如下几个优点:是程序简介易懂,便于维护;暗合接口不变原则;体现面向对象思想。在本系统有三个实体类,分别是用户(User)、新闻(News)以及新闻评论(Comment)。
3。3。2 数据访问类
DBUitility,数据库访问类,此类为抽象类,不允许实例化,在应用中直接调用,里面主要是SqlHelper,它是基于。NET Freamwork的数据库操作组件。组件中包含数据库操作方法,SqlHelper用于简化重复的数据库链接(SqlConnection),SqlCommand(执行Sql语句或者储存过程),SqlDataReader(读取数据库)等等。SqlHelper封装过后通常是只需要给方法传入一些参数和数据库连接字符串,Sql参数等,就可以访问数据库了。
本设计中,web。config里面定义了datasource(SqlServer实例名称),database(数据库名称),userid(用户名),password(用户密码)四个系统常量,便于sqlhelper类获取数据库连接字符串,这样也有利于网站的可以移植性和代码的简洁。
Sqlhelper主要包含两个方法:ExecuteNonQuery方法和ExecuteReader。ExecuteNonQuery方法通过指定的连接字符串,执行一条不返回结果的SqlCommand,此方法会返回一个数值,表示此SqlCommand命令执行后影响的行数;ExecuteReader方法通过指定的连接字符串,执行一条返回执行结果的SqlCommand命令,此方法返回一个包含SqlCommand执行结果的SqlDataReader。
3。3。3 Common 公共类文献综述
Common,公共类;用于管理在项目中用到的公共方法。主要包括Alter方法、CoventHelper方法、Encryption方法、SetMail方法以及UploadPicture方法。Alter方法,在页面上弹出对话框,有两个参数,分别是弹出的信息以及弹出对话框的页面;ConverHelper方法,产生随机数,参数是随机数的长度,这个方法主要用于注册用户或者用户登录;Encryption,主要包括数据加密以及数据解密两个功能;SetMail,发送电子邮件,参数有邮件目标地址,邮件标题以及邮件正文;UploadPicture,主要功能包括上传图片以及删除图片,主要用于用户信息以及新闻信息里面的图片。
3。3。4 DAL与BLL 数据访问层与业务逻辑层
DAL数据访问层,主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或者表示层提供数据服务。
BLL ,业务逻辑层,主要负责对数据层的操作,也就是说把一些数据层的操作进行组合。本系统里面的BLL是直接调用DAL里面的方法,把在DAL里面提取到信息传送到表示层(Star)。
3。3。5 Star 表示层
Star,系统中的表示层,位于最外层,最接近用户。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。本系统的表示层主要分为前台与后台两大块。前台页面主要是新闻列表,新闻信息、评论信息的查询以及用户注册以及登录;后台页面主要是用户信息修改以及管理员对用户权限、新闻信息以及评论信息的管理。