一:什么是三层体系结构:
三层体系结构,顾名思义,我们将运用程序从整体上分为三个独立而又彼此相关联的层次,这三层分别是:用户层、业务逻辑层、数据层
。用户层就是运用程序与用户的操作接口,比如说:网页。在用户层,常用到的技术如:html、css、javascript、asp/asp.net等.业务逻辑层
就是将一些业务处理的逻辑与规则经过封装,它提供一些接口与用户层与数据层进行交互。在逻辑层,当今比较流行的技术和规范,如:
microsoft的com/dcom/com+/net组件,sun 的 ejb等。数据层主要是提供业务逻辑层的数据接口和后台的数据管理,比较典型的数据库管理系
统有:sql sercer 2000/2005 、orcale 8i/9i,db2等。三层体系结构的好处是将运用程序分成互相独立的几个层次,当某层需要改变的时候,
不会对其他层次有大的影响,便于进行运用程序的维护。同时,层与层之间结构清晰,易于我们进行开发与部署。
二:用net开发三层体系结构的思路:
net平台的易操作、强大的功能,利于我们在短时间里开发较大规模、较复杂的运用程序。下面,我们用一个简单的例子(读取数据库中的数据
)来看看怎样开发一个标准的基于三层体系结构的运用程序。
步骤一:我们在后台采用sql server作为后台数据库管理系统。所以我们先打开sql server企业管理器,建立我们自己的数据库,我们只是简
单的取名字为stu,同时,需要建立一张表(student),表有三个字段,分别是id(学号),name(姓名),class(班级)。同时,我们先填入一些
数据到student表中,方便我们在程序设计完成后进测试。
同时,我们需要在查询分析器里面,建立一个存储过程,请先不用管为什么要利用存储过程,只是逻辑层在和数据库进行交互时需要用到。(
有兴趣的可以查看一下使用存储过程的好处,在这里我们不多做介绍)
存储过程如下:
create proc p_select
as
select * from student
go
步骤二:我们先启动vsnet运用程序,选择新建项目,选择类库,建立一个名为mylib的类库,建立类库的目的是对业务层的逻辑进行封装。在类
库中,默认的命名空间是mylib,在这里提示命名空间是因为我们在后面用户层在实例化类时要用到。然后,我们在解决方案中会看到有一个默
认的叫做class.vb的类。在代码编辑区,我们将class改成myclass.(其实也可以不改,修改只是方便我们在引用的时候,方便我们识别)。然后
我们再编写类的代码,在类中,我们需要定义一些变量和方法及属性、事件等。在此类中,我们只是定义了一个如下:
提示:先要导入命名空间:imports system.data.sqlclient
类的代码:
public class mydata
public conn as new sqlconnection("data source=(local);user id=sa;password='';database=xiaoxiao")
function mydataset() as dataset
dim command as new sqlcommand()
try
dim myada as new sqldataadapter()
dim myds as new dataset()
conn.open()
command.connection = conn
command.commandtype = commandtype.storedprocedure
command.commandtext = "p_select" '加载是显示数据的存储过程
myada.selectcommand = command
myada.fill(myds, "1")
return myds
conn.close()
catch
msgbox("失败")
end try
end function
end class
然后,我们需要将刚建立的类编译生成dll的文件,以便我们能引用使用他。点击mylib右键--》生成,即可。
步骤三:点击文件—》新建-》项目--》windows项目,我们建立一个windows的运用程序,名为myform1在界面上布置一个button与datagrid的
控件。
为了能用到我们刚才创建的类,我们需要添加引用,将mylib引用到我们的myform1中.然后,我们在button下编写代码:
先导入命名空间:imports mylib
在button下的代码:
private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
dim myds as new myclass()
datagrid1.datasource = myds.mydataset
end sub
然后,启动程序,就能显示数据库stu中student表的数据。
三:实验:
请读者按照上面的提示,自己上机操作练习,会对程序的开发理解更加深刻。
四:结论
我们先通过一个显示数据库信息的例子来构建了一个标准的三层架构的程序。主要的意图是想做为想在net平台上进行高级开发的读者学习的一个参考。当然,这个例子的实际作用可能并不大,只是让我们认识到怎样去开发三层结构系统的大致的思路,如果想设计一个功能更强大的程序可能更复杂一些。文章中没有附图,可能看起来比较枯燥,但文字的讲解看起来还是比较简单的。希望能给一些读者一些启发。
郑重声明:此文章纯属个人原创,目的在与和各位网友进行学习开发上的交流,请不要随意的复制和修改。如要引用,请注明出处。谢谢!
新闻热点
疑难解答
图片精选