三层搭建过程
第一步打开vs,然后点击新建—---项目—----其它项目类型-------空白解决方案。如下图!
(备注右上角是你建立的版本是3.5 的还是2.0的,这里选择的是3.5的)
注意1:名称可以重命名,这个地方我命名的是Test_Example。
注意2:存放位置自己选择一个新路径,便于以后的查找。
然后点击确认按钮提交:
这样出现一个下图的空白解决方案。
第二步:我们建立一个数据访问层:首先如上图中选中空白解决方案,然后右键----添加-----
然后选择新建项目-----选择类库。(备注下右上角是你建立的版本是3.5 的还是2.0的)
同理重命名Test_Dal,路径不需要修改。
点击确认 如下图
空白处多了一个Test_Dal
第三步:建立一个Test_Bll 业务逻辑层同理上面的Test_Dal的建立。如下图
然后确认提交:这样就建立了数据层 和 业务逻辑层。
第三步:我们这个地方以新建一个web网站为例子讲解说明,至于windows窗体应用程序的例子是一样得。
(1) 右键解决方案---添加----新建项目---选择Web---Asp.net web 应用程序如下图:
(2) 确认提交然后出现下图:
这样的传统的三层已经建立好了第一步,第二步如何建立之间的关系。
这里再次说明一个就是又封装了一个层Test_Model ,为什么建立此层一个原因是如果表的字段比较多,我们传参数太多不易书写,第二个这样分比较清晰的认识数据库结构。
Test_Model的建立过程,和Test_BLL ,Test_Dal完全一样。
这里不做太多解说,如果要更详细请加qq 869011220 或者博客留言
最终建立好Test_Model 后的效果图如下。
上面完成了,三层的各个层次建立,下面是三层如何连贯起来使用。
第四:各层间的引用。
(一)Test_Dal是数据访问层,肯定是和数据库最近的一层,而数据库的链接及sql执行有微软封装搞定了,所以其不需要引用Test_Bll、Test_USL。但是有个问题是:前台的例如要插入一条数据如何把参数中的值一层层传到Test_Dal, 这个时候我们得考虑,Test_Model,所以作为数据访问层,只需引用Test_Model就可以了。
选中Test_Dal 然后右键,添加引用弹出如下图的框,然后选择Test_Model---点击确认这样完成对Test_Model的引用。
(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按键,才可以多选,效果如下图:
(4) Test_USL 是和前台用户之间打交道的,首先肯定要获得用户的值进行封装:所以要引用Test_Model, 那如何把方法提交到数据库呢,这次我们想到了业务逻辑层,业务逻辑层Test_BLL ,然后有其提到给Test_Dal层,这里会有个疑问为什么我不直接提交的Test_Dal呢?何必要中间层呢?
- a. 中间层省咯的话那数据库访问层代码比较多不易查找。
- b. 如果有些方法不需要和数据库建立关系,只是处理一下完成某个业务。如何还放到Test_Dal这样代码也比较复杂。
- c. 这样的不仅易于维护,而且查找起来方便。
- d. 符合高内聚,低耦合的程序架构,适合分工开发。
综上可以猜到:Test_Usl 层需要引用 Test_BLL ,Test_Model.
引用的操作步骤如上文的 Test_BLL的引用步骤类似,只是其引用的不同项目。
这样我们就建立了一个基本的三层了,下面我们用一个例子说明:下三层:
这里用sql2005 进行介绍;
问题一:我们如何让我们的程序和数据库建立连接呢?
方法一:大多数框架程序数据库连接的语句都会配置到web.cofig文件,如果新建的网站,都会自带一个web.config文件,如果是windows窗体程序没有web.config文件,你可以右键添加一个配置文件,然后写进去配置连接语句。
配置连接的语句位置及格式如下:
连接语句的是什么意思,网上很多解释这里不做介绍了。
这样的话连接语句写好了,我们如何调用执行该连接语句呢?
Test_Dal是数据访问层。肯定提交给其访问操作了。
第一步 Test_Dal如何获得web.config中的连接字符串呢?
右键Test_Dal添加一个Test_Example类。
首先添加引用引用命名空间System.Configuration。
using System.Configuration;
(如何引用:右键Test_Dal—添加引用--.NET 找到图中的文件并引用)
为什么要引用:引用的目的是可以从配置文件读取链接数据库的字符串。
然后在Test_Example中写下下面
下一步就是分别在Test_BLL 添加类 B_Login ,在Test_Model中添加M_Login
如下图
这样就完成了基本的建立。
现在我们在web页面画个登陆框
M_Login 中添加如下代码 (这个是实体封装类)
Test_Eample.cs (在Test_Dal中)的代码如下:
B_Login中添加如下代码
现在只需要前台的web页面用方法调用既可以完成:
然后更改web。Aspx页面调用。
这样就完成了三层的调用了。
测试通过完成!
以上完成了三层架构的搭建及案例的测试过程。
备注1:数据库的连接不仅仅可以写在web.config中,也可以写到Dal文件中,不过写到dal文件中,如果你更改了服务器就要重新生成才可以连接成功。这样不易于维护更新。
备注2:M_Login的参数有可能很多,这个地方只用了2个,没有体现出起封装的意义。
备注3:代码和表现层的书写也许不够规范,还请谅解。
备注4:不明白的地方你可以加我qq:869011220 ,912791866.
这个案例的源码下载也可以联系我qq。
为初学者写三层,三层的搭建和测试例子