码迷,mamicode.com
首页 > 其他好文 > 详细

为初学者写三层,三层的搭建和测试例子

时间:2014-08-05 11:04:21      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:des   cWeb   http   使用   os   io   strong   文件   

三层搭建过程

 

第一步打开vs,然后点击新建—---项目—----其它项目类型-------空白解决方案。如下图!

(备注右上角是你建立的版本是3.5 的还是2.0的,这里选择的是3.5的)

 bubuko.com,布布扣

注意1:名称可以重命名,这个地方我命名的是Test_Example

注意2:存放位置自己选择一个新路径,便于以后的查找。

 

然后点击确认按钮提交:

这样出现一个下图的空白解决方案。

 bubuko.com,布布扣

第二步:我们建立一个数据访问层:首先如上图中选中空白解决方案,然后右键----添加-----

 然后选择新建项目-----选择类库。(备注下右上角是你建立的版本是3.5 的还是2.0的)

 bubuko.com,布布扣

同理重命名Test_Dal,路径不需要修改。

点击确认 如下图

 bubuko.com,布布扣

空白处多了一个Test_Dal

 

第三步:建立一个Test_Bll 业务逻辑层同理上面的Test_Dal的建立。如下图

 bubuko.com,布布扣

然后确认提交:这样就建立了数据层 业务逻辑层。

 bubuko.com,布布扣

第三步:我们这个地方以新建一个web网站为例子讲解说明,至于windows窗体应用程序的例子是一样得。

(1)      右键解决方案---添加----新建项目---选择Web---Asp.net web 应用程序如下图:

 bubuko.com,布布扣

(2)      确认提交然后出现下图:

 bubuko.com,布布扣

这样的传统的三层已经建立好了第一步,第二步如何建立之间的关系。

 

 

这里再次说明一个就是又封装了一个层Test_Model ,为什么建立此层一个原因是如果表的字段比较多,我们传参数太多不易书写,第二个这样分比较清晰的认识数据库结构。

 

Test_Model的建立过程,和Test_BLL ,Test_Dal完全一样。

 

这里不做太多解说,如果要更详细请加qq 869011220  或者博客留言

 

最终建立好Test_Model 后的效果图如下。

 

 bubuko.com,布布扣

 

上面完成了,三层的各个层次建立,下面是三层如何连贯起来使用。

 

第四:各层间的引用。

(一)Test_Dal是数据访问层,肯定是和数据库最近的一层,而数据库的链接及sql执行有微软封装搞定了,所以其不需要引用Test_Bll、Test_USL。但是有个问题是:前台的例如要插入一条数据如何把参数中的值一层层传到Test_Dal,  这个时候我们得考虑,Test_Model,所以作为数据访问层,只需引用Test_Model就可以了。

 

选中Test_Dal 然后右键,添加引用弹出如下图的框,然后选择Test_Model---点击确认这样完成对Test_Model的引用。

 bubuko.com,布布扣

 

 

(3)      Test_Bll 业务逻辑层,其是Test_USL和 Test_Dal的桥梁,Test_Bll要获得一些方法,从哪儿来呢? 顾名思义,其肯定是Test_Dal写好的方法,Test_Bll只需要调用即可。

综上可知道:Test_BLL  需要引用 Test_Dal调用其方法,Test_BLL 引用Test_model,用于参数的传递:

步骤:右键Test_Bll 添加引用——选择项目—选择Test_Dal ,Test_Model,多个同时引用时请按住ctrl按键,才可以多选,效果如下图:

 bubuko.com,布布扣

 

(4)      Test_USL  是和前台用户之间打交道的,首先肯定要获得用户的值进行封装:所以要引用Test_Model, 那如何把方法提交到数据库呢,这次我们想到了业务逻辑层,业务逻辑层Test_BLL ,然后有其提到给Test_Dal层,这里会有个疑问为什么我不直接提交的Test_Dal呢?何必要中间层呢?

  1. a.       中间层省咯的话那数据库访问层代码比较多不易查找。
  2. b.      如果有些方法不需要和数据库建立关系,只是处理一下完成某个业务。如何还放到Test_Dal这样代码也比较复杂。
  3. c.       这样的不仅易于维护,而且查找起来方便。
  4. d.      符合高内聚,低耦合的程序架构,适合分工开发。

     综上可以猜到:Test_Usl 层需要引用 Test_BLL  ,Test_Model.

 

 

引用的操作步骤如上文的 Test_BLL的引用步骤类似,只是其引用的不同项目。

 

 

 

这样我们就建立了一个基本的三层了,下面我们用一个例子说明:下三层:

 

这里用sql2005 进行介绍;

 

问题一:我们如何让我们的程序和数据库建立连接呢?

 

方法一:大多数框架程序数据库连接的语句都会配置到web.cofig文件,如果新建的网站,都会自带一个web.config文件,如果是windows窗体程序没有web.config文件,你可以右键添加一个配置文件,然后写进去配置连接语句。

配置连接的语句位置及格式如下:

 bubuko.com,布布扣

 

连接语句的是什么意思,网上很多解释这里不做介绍了。

 

这样的话连接语句写好了,我们如何调用执行该连接语句呢?

 

Test_Dal是数据访问层。肯定提交给其访问操作了。

 

第一步 Test_Dal如何获得web.config中的连接字符串呢?

 右键Test_Dal添加一个Test_Example类。

 

  首先添加引用引用命名空间System.Configuration。

using System.Configuration;

(如何引用:右键Test_Dal—添加引用--.NET  找到图中的文件并引用)

为什么要引用:引用的目的是可以从配置文件读取链接数据库的字符串。

 bubuko.com,布布扣

然后在Test_Example中写下下面

 

 bubuko.com,布布扣

下一步就是分别在Test_BLL 添加类  B_Login  ,在Test_Model中添加M_Login

 

如下图

 bubuko.com,布布扣

 

 

这样就完成了基本的建立。

现在我们在web页面画个登陆框

 bubuko.com,布布扣

 

M_Login 中添加如下代码 (这个是实体封装类)

 bubuko.com,布布扣

Test_Eample.cs (在Test_Dal中)的代码如下:

 bubuko.com,布布扣

B_Login中添加如下代码

 bubuko.com,布布扣

 

现在只需要前台的web页面用方法调用既可以完成:

 bubuko.com,布布扣

 

然后更改web。Aspx页面调用。

 bubuko.com,布布扣

 

这样就完成了三层的调用了。

 bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

 

测试通过完成!

 

 

以上完成了三层架构的搭建及案例的测试过程。

 

备注1:数据库的连接不仅仅可以写在web.config中,也可以写到Dal文件中,不过写到dal文件中,如果你更改了服务器就要重新生成才可以连接成功。这样不易于维护更新。

 

备注2:M_Login的参数有可能很多,这个地方只用了2个,没有体现出起封装的意义。

 

备注3:代码和表现层的书写也许不够规范,还请谅解。

 

备注4:不明白的地方你可以加我qq:869011220 ,912791866.

这个案例的源码下载也可以联系我qq

 

为初学者写三层,三层的搭建和测试例子,布布扣,bubuko.com

为初学者写三层,三层的搭建和测试例子

标签:des   cWeb   http   使用   os   io   strong   文件   

原文地址:http://www.cnblogs.com/haofuqi/p/3891683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!