您的位置:首页 > 运维架构 > 网站架构

三层架构简单案例分析

2011-11-20 20:34 232 查看
最近在网上找了一些资料学习三层架构的知识,初学者就像我来说理解那些抽象的道理还是很困难的,其实不妨用一个小例子来好好地分析一下

首先,我们需要明白的是三层架构的划分原理:(如下图所示)



各个层的任务

数据访问层:为数据库中的每个表,设计一个数据访问类,类中实现:记录的插入、删除、单条记录的查询、记录集的查询,单条记录的有无判断等基本的数据库操作方法。对于一般的管理信息软件,此层的设计时类似的,包含的方法也是基本相同,此层的任务是:封装每个数据表的基本操作,为实现业务逻辑提供数据库访问的基础。

业务逻辑层:为用于的每个功能模块,设计一个业务逻辑类,此时,需要利用相关的数据访问层类中,记录操作方法的特定集合,来实现每个逻辑功能。

界面层:根据用户的具体需求,为每个功能模块,部署输入控件,操作控件和输出控件,并调用业务逻辑层中类的方法实现功能。

层和层之间的调用关系:

数据访问层的类,直接访问数据库,实现基本记录操作。

业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。

界面层部署控件之后,调用业务逻辑层的类,实现功能。

说了这么多,先看看一个简单的小例子吧。

下面是一个学生信息管理系统中课程添加的一个小功能。



数据访问层的方法设计

一般为系统数据库中的每个表设计一个数据访问类,实现基本的记录操作。为了实现课程记录的添加,目前,可以在数据访问类中包含下面的方法:

1、 判断某主键的记录是否存在

方法名:Exist

形参:代表主键的变量

返回值:bool

2、 课程的添加

方法名:AddCourse

形参:代表此表实体类的对象

返回值:int

业务逻辑层的方法设计

一般系统中的某个功能模块设计一个业务逻辑层的类,实现此模块的所有业务逻辑,在课程添加中,我们所需要的业务逻辑是位课程添加。

首先,需要调用数据访问类的方法,因此,在类内设计一个字段为此类对象

其次,此类需要设计下面的方法:

1、 添加课程:

方法名:AddCourse1

形参:课程类对象

返回值:void

首先是调用数据访问层中的exist()方法,判断形参所表示的课程类对象是否存在,若存在方法返回。

接着调用数据访问层中的AddCourse()方法,添加课程,并利用返回值判断添加是否成功。

界面层的设计

界面层的设计,首先需要根据用户的功能需求部署恰当的控件。然后,把工恩那个实现代码放在恰当控件的恰当事件中,在这些代码中,需要调用业务逻辑层的方法实现,课程添加时,界面上主要的功能如下:

1、 按下添加按钮,实现课程记录的插入

代码放在按钮的click事件中;

代码设计思路:首先进行控件的正确性验证;其次利用控件的输入值,生成一个课程实体类对象;利用此对象,调用业务逻辑类对象的添加方法,插入记录,然后刷新。

这样就完成了。

大家有没有发现在这里边是按照数据访问层、业务逻辑层、界面层一层一层的调用的。

就写到这里了,我也是刚刚学习,希望大家能够提出宝贵的意见和建议。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: