美文网首页
三层架构:基础知识

三层架构:基础知识

作者: xiaolan4043 | 来源:发表于2016-06-19 15:55 被阅读134次

    三层架构刚学一星期,有点迷糊。对于三层我左思右想,如何理清思路?如何与实际生活联系?今天稍微简单的整理了一下思路。

    一、典型三层架构应用场景。

    服务员:只管接待客人;

    厨师:只管做客人点的菜;

    采购员:只管按客人点菜的要求采购食材;

    他们各负其职,服务员不用了解厨师如何做菜,不用了解采购员如何采购食材;厨师不用知道服务员接待了哪位客人,不用知道采购员如何采购食材;同样,采购员不用知道服务员接待了哪位客人,不用知道厨师如何做菜。

    二、什么是三层架构?

    表现层(view视图层):主要是指用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。简单说,给用户看,展示的就是一个界面,如aspx\html

    业务逻辑层(control控制层):dal业务逻辑具体包含:验证、计算、业务规则等等。主要实现对数据的增、删、改、查(主要是ado.net内容)。

    实体层(model层):用于便于层和层之间的数据传递.实际上是对应着数据库里的每张表的,我们把表里的字段封装在1个实体对象里 当你想用哪个字段 你就就通过该实体对象的get() set() 把那个字段提取出来。

    注意:1)Model层对应的是类、及字段,和数据库一一对应。

    2)数据库对应的是表及字段

    3)内存就是一个对象,程序中的一个对象,就是数据表中的某一行数据

    三、层框架原理

    1、用户在界面视图层,输入内容,例如把用户名,密码等传到控制层dal

    2、dal控制层调用增删改查的方法,实现增删改查(实质用的是ado.net)。

    3、运行之后,把数据存在内存中,再经过cpu处理,跟数据库处理。

    四、三层框架搭建实操

    1、搭建Model层

    第一步:创建一个model文件夹

    第二步:拷入model.base

    第三步:在vs中添加model文件,并添加Model.Base.csproj文件

    第四步:添加一个和我们数据库对应的一个model—新建项—windows—类库—路径放在刚才建好的model文件夹中,然后取名字,跟上面对应(数据库的名字,即和数据库一一对应),如Model.fuzhifang

    注意:Model.fuzhifang是基于Model.Base的

    第五步:Model层就建好了

    2、搭建dal层

    第一步:创建一个dal文件夹,需要两个东西Dal.Base和Utility,拷入两个类库文件

    第二步:在vs中新建dal文件

    1)添加dal.base中的DAL.Base.csproj文件

    2)添加utility中Utility.csproj文件

    第三步:创建一个类库文件,就是和数据库进行交互的,增删改查全部都放在里面

    dal—新建项—windows—类库—路径放在刚才建好的dal文件夹中,然后取名字,dal.fuzhifang注意:创建一个类库文件—即数据库中对应的内容

    第四步:所有文件建好了

    3、修改程序集路径

    知识点:类库文件生成之后就是一个程序集,所以就要生成一个程序集。

    原因:每个类库文件默认生成程序集的位置是不同的,不利于维护,所以最好每个类库文件统一在统一目录下,调用的时候比较方便。

    操作方法如下:

    model文件修改路径(全部放在Reference中)

    Model.Base—右键—属性—生成—输出路径--E:\study\mvcthress\Reference\(选择修改即可)

    4、各层间引用

    1)Model层

    第一步:生成Model.Base

    第二步:生成Model.fuzhifang中则需要引用Model.Base

    操作:Model.fuzhifang-引用-右键-添加引用—刚才建好的Reference 中的com.Model.Base.dll

    第三步:Model.fuzhifang生成程序集

    操作:Model.fuzhifang-右键-属性-输出路径--E:\study\mvcthress\Reference\(选择修改即可)--重新生成

    2)DAL层

    第一步:生成Utility  里面封装了很多方法,比如说过滤内容,比如SQL注入,也需要设置路径

    更改路径:Model.fuzhifang-右键-属性-输出路径--E:\study\mvcthress\Reference\(选择修改即可)

    第二步:生成DAL.Base ,引入com.Utility.dll\com.Model.Base.dll

    需要把下面5个文件加到自己的Reference中E:\study\mvcthress\Reference\

    DAL.Base不需要写SQL语句,把表的名称做一个变量传进来

    第三步:生成DAL.fuzhifang(自己新建),引入com.Model.Base.dll、com.Utility.dll、Model.fuzhifang.dll、com.DAL.Base.dll

    3)web网站层,则全部都要引入

    "Model.fuzhifang.dll" "com.DAL.Base.dll" "com.Model.Base.dll" "com.Utility.dll" "dal.fuzhifang.dll"

    五、三层架构优劣势

    优势:1,结构清晰、耦合度低,2,可维护性高,可扩展性高;3,利于开发任务同步进行;容易适应需求变化

    劣势:1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码3、增加了代码量,增加了工作量

    六、结束语

    “三层结构”开发模式,入门难度够高,难于理解和学习。这是对于初学程序设计的人来说的。以这种模式开发出来的软件,代码量通常要稍稍多一些。这往往会令初学者淹没在茫茫的代码之中。望之生畏,对其产生反感,也是可以理解的……

    相关文章

      网友评论

          本文标题:三层架构:基础知识

          本文链接:https://www.haomeiwen.com/subject/ejmbdttx.html