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

三层搭建过程

 

第一步打开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呢?何必要中间层呢?

  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文件,你可以右键添加一个配置文件,然后写进去配置连接语句。

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

 

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

 

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

 

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

 

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

时间: 2024-09-30 20:55:32

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

为初学者写ORM,ORM的原理及测试案例

提纲 一.什么是ORM.二.反射以及Attribute在ORM中的应用.三.创建一个数据库表和表对应的实体model.四.实体model如何映射出数据库表.五.组合ORM映射生成insert语句.六.测试ORM的插入映射.七.总结. 内容: 一 .什么是ORM? 概念: 对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换. 详细介绍:  让我们从O/R开始.字

VMware + JunOS + Linux 搭建安全测试平台

众所周知VMareWorkStion 是一个强大的桌面型的虚拟化软件,比较可以建立Windows虚拟机.Linux虚拟机.甚至各网络操作系统,比如CISCO ASA .Juniper SRX等.并且可以利用VMWare自身的虚拟网卡host建立不同网段来组建测试平台.下文就是就是在 VMWare上搭配Linux 系统 .Juniper SRX来模拟互联网络以及公司内部网络的,来做一个安全测试平台.当然此测试平台linux + DVWADamn Vulnerable Web Application

python webdriver 一步一步搭建数据驱动测试框架的过程和总结

一步一步搭建数据驱动测试框架的过程和总结数据驱动框架结构:Action:    封装的操作元素的函数,如login,添加联系人... conf:日志配置文件定位元素配置文件数据库配置文件    PageObject:    一个页面是一个类,类的方法可以获取页面上的相关元素 ProjectVar:工程路径工程相关的全局变量TestData:(文件或excel)测试用例测试数据 TestScript:运行测试框架的主程序:入口,主要读取测试数据的文件                      记录

Python 语言搭建SELENIUM测试环境,搭建过程记录。

第一步,安装Python: 第二步,安装SetupTools: 第三步,安装Pip: 第四步,安装selenium(for python) 第五步,新建第一个基于Firefox的测试用例 上述 只是步骤,具体内容,明天补充,睡觉 咯--- Python 语言搭建SELENIUM测试环境,搭建过程记录.

自动化测试【Maven+Eclipse+Selenium+Java环境搭建和测试】

一.下载必要的文件 1.eclipse Eclipse官网 2.jdk jdk官网 3.selenium IDE.Selenium Server.Selenium Client Drivers(Java)等等 Selenium下载地址  备注:需要代理服务器才能下载 我使用的是太太猫 4.maven安装.配置等 二.安装    1.Eclipse解压缩就可以用了    2.jdk安装.配置变量等    3.Selenium相关的安装    4.maven 最新版本的Eclipse已经自带mave

Android兼容性测试GTS-环境搭建、测试执行、结果分析

GTS的全称是Google Mobile Services Test Suite,所谓的Google Mobile Services即谷歌移动服务,是谷歌开发并推动Android的动力,也是Android系统的灵魂所在.GMS目前提供有Search.Search by Voice.Gmail.Contact Sync.Calendar Sync.Talk.Maps.Street View.YouTube.Android Market (ICS 上更改为Play store)服务.当用户使用谷歌的

搭建和测试Android JAVA NDK

1.下载NDK,  android-ndk-r9c-windows-x86_64.zip,解压ndk,截图如下: 2.以编译ndk中的sample为例: 导入sample中的hello-jni项目,导入的项目结果如下: 3.右击项目:helloJni-->右击--->properties--->Builder 4.新建Builder--->Program 5.点击OK,然后弹出来一个窗口,其中Location的位置填写的是ndk-build.cmd所在的位置: 点击OK,并将N

搭建渗透测试环境选自KaliLinux无线网络渗透测试教程

第1章搭建渗透测试环境 许多提供安全服务的机构会使用一些术语,如安全审计.网络或风险评估.以及渗透测试.这些术语在含义上有一些重叠,从定义上来看,审计是对系统或应用的量化的技术评估.安全评估意为对风险的评测,是指用以发现系统.应用和过程中存在的漏洞的服务.渗透测试的含义则不只是评估.它会用已发现的漏洞来进行测试,以验证该漏洞是否真的存在.本章将介绍搭建渗透测试环境.选自KaliLinux无线网络渗透测试教程 1.1  什么是渗透测试 渗透测试并没有一个标准的定义.国外一些安全组织达成共识的通用说

CR开发笔记-2基础飞机的搭建以及测试代码

好吧!今天没有建模,主要是美术细胞死了. 处于一种劳累的状态. 快速说一下今天的进度 啊,这就是一个逗比飞机的基本骨架. 没有什么好解释的. 这里开始坑人了,上面的红色箭头指的是是否利用重力,这里由于是飞船么,宇宙中暂时没有重力,所以去掉. 下面是的红红的是是否符合经典物理动力学. (说白了就是是否可以支持Force,今天我以为他是是否失重,然后调了半天代码%>_<%) 然后贴代码. public class levelRun : MonoBehaviour { // Use this for