三层架构解析图文教程

所属分类: 软件教程 / 网络通讯 阅读数: 687
收藏 0 赞 0 分享

三层架构就是将整个业务应用划分三层,其主要的目的就是为了“高内聚低耦合”的思想;架构就是软件架构,是有关软件整体结构与组件的抽象描述,主要用于指导大型软件系统各个方面的设计,它是对对存储在Active Directory中的对象类别和属性的描述。

通过几个问题,来初步的学习一下三层架构

1、什么是三层架构

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。三层从下至上分别为:数据访问层(DAL)、业务逻辑层(BLL)、表示层(UI)。

表现层(UI):展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

业务逻辑层(BLL):对数据层的操作,对数据业务逻辑处理。

数据访问层(DAL):对数据库的操作,数据的增添、删除、修改、查找等。

2、应用场景——为什么要用三层架构?

解析:

不是所有的程序都需要使用三层架构,没必要把简单的问题复杂化。

先来说一下解耦,举例:修电脑

电脑硬盘坏了?我们要做的就是换掉电脑硬盘

内存条坏了?只要换内存条就好

这些部件出现问题,都不会影响别的部件的正常使用,这个就是让他们之间解耦。而和电脑不同的收音机,任何部件坏了,都会影响别的部件,这个体现的就是他们之间的耦合比较高。从这个例子里面就可以看出解耦的好处,在三层中就是用的解耦的思想。

3、三层作用

数据访问层:从数据源加载(Select),写入(Insert/Update),删除(Delete)数据。仅限于和数据源打交道,让程序简单明了。

显示层(UI):向用户展现特定业务数据,采集用户的输入信息和操作。

原则:用户至上,兼顾简洁。

业务逻辑层(BLL):从DAL中获取数据,以供UI显示用,从UI中获取用户指令和数据,执行业务逻辑、从UI中获取用户指令和数据,通过DAL写入数据源。

4、各个层之间的关系:

UI->BLL->UI:UI提供数据指令到业务逻辑,若自己可以搞定,则直接反馈到UI

UI->BLL->DAL->BLL->DAL:UI提供用户指令和数据,提出请求并搜集一定的数据BLL,BLL处理不了时

5、三层联系——引用

以登陆为例子,说明三层之间的引用关系:

实体层(entity):定义的用户名和密码。

U层:向对应的文本框中输入账号和密码

B层:判断U层输入的账号和密码是否存在。

D层:连接数据库的语句,查询数据库。

他们之间的联系是通过实体传递来进行的,。

DAL所在程序集不引用BLL和UI

BLL需要引用DAL

UI直接引用DAL,可能引用BLL

非常忌讳互相引用,为了避免这个问题所有出现了实体层(业务数据模型,里面的数据和数据库的有所差异)

应用原则:

DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理。UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理,BLL负责处理业务逻辑,通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI。

6、各层是如何调用的

表示层(UI)是用户需要的界面,用户有什么需求都是在这个上面进行的改动,一旦有改动,首先U层向B层发送用户请求的说明,到达B层,B层再将U层的用户请求发送到D层,D层接受到用户请求的指令后,对它进行处理,发送数据反馈到B层,B层再发给U层,将这一变化反应出来。

举例:

小菜和大鸟吃羊肉串的例子,小菜和大鸟就是用户,服务员为表示层(U层),烤肉师父为业务逻辑层(U层引用B层的方法或者参数),老板娘为数据访问层(D层),负责给烤肉师父从库房拿烤串。大鸟点了羊肉串5串(参数),服务员把羊肉串5串(参数传递)传递给烤肉师父(数据请求),烤肉师父再传递给老板娘(对参数进行处理),老板娘得到请求后,拿羊肉串给烤肉师父(数据反馈),烤肉师父将烤好的羊肉串给服务员(数据反馈),服务员再将5串羊肉串给大鸟(U层展现出来),他们之间通过调用来实现联系。

7、三层PK二层二层架构:

业务逻辑简单,没有真正的数据存储层

三层架构:

抽象出业务逻辑层,当业务复杂到一定程度,当数据存储到相应的存储介质,数据存储脱离开业务逻辑,把业务逻辑脱离开UI单独存在,UI只需要呼叫业务访问层,就可以实现跟用户的交互。

三层的好处:

1、开发人员可以只关注整个结构中的其中某一层;

2、可以很容易的用新的实现来替换原有层次的实现;

3、可以降低层与层之间的依赖;

4、有利于标准化;

5、利于各层逻辑的复用。

6、结构更加的明确

7、在后期维护的时候,极大地降低了维护成本和维护时间。

这几点的中心思想就是“高内聚,低耦合”,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。

以上就是脚本之家为大家讲解的对三层的简单认识, 想了解更多精彩教程请继续关注脚本之家网站!

更多精彩内容其他人还在看

局域网合理布线的六大规则

  网络拓扑结构凌乱、布线过程中偷工减料、设备摆放不合理,别小看这些网络布线时的疏忽大意、有章不循,它们就是一颗颗定时炸弹,随时都会发作,随时都会毁掉你的网络、你的工作。 亡羊补牢?为时已晚,这些问题需要我们提前避免。   如同大厦
收藏 0 赞 0 分享

技巧:对无线局域网进行高效故障诊断

  基于IEEE 802.11标准的WLAN逐渐进入主流网络,使得针对无线网络的故障诊断和安全保障变得与有线网络一样重要。     支持多种模式的分析仪可以扫描所有802.11频段,包括2   .4GHz和5GHz频段中的所有通道,并以图形化的形式显示,从这些图表中
收藏 0 赞 0 分享

巧用WinXP中的“网桥”功能

  当前局域网已经相当普及,经常会遇到以下的状况:    局域网中新增了一台客户机,但集线器端口已接满,为一台电脑增加集线器太不合算。怎么办?Windows XP的“网桥”功能就派上用场了,不过需要一个前提条件,就是局域网中必须有一台安装了双
收藏 0 赞 0 分享

设置防火墙实现禁用QQ,MSN,联众

  现在要求禁止内网用户使用QQ、联众等聊天和网游软件的需求逐渐增多,不久前售后工程师就处理了一项此类业务。工程师在处理过程中发现了一些解决方法,现在进行一下总结,希
收藏 0 赞 0 分享

XP中网络怪异事件解决方法

  未接网线却显示已启用连接   问:Windows XP系统正确识别了新安装的网卡,并安装了驱动程序,在没有连接网线的情况下,网络连接中的“本地连接”显示已启用,并且处于“连接状态”。在接上网线并设置了相应的参数后,进行网络访问,IE显示“无
收藏 0 赞 0 分享

为您支招 局域网内如何防止ARP欺骗

  对于ARP欺骗,提出几点加强安全防范的措施。环境是主机或者网关是基于Linux/BSD的。一、理论前提   本着“不冤枉好人,不放过一个坏人的原则”,先说说我的一些想法和理
收藏 0 赞 0 分享

网管,请别随意关闭默认共享!

  不知道在什么时候,关闭Windows系统中的C$、D$、IPC$等默认共享成为了最基本的安全防范措施,惊弓之鸟们纷纷响应号召,向默认共享宣战。然而存在是有理由的,默认共享的存在同样如此。你可知道盲目地关闭这些默认共享会带来某些非常严重的危害吗
收藏 0 赞 0 分享

网络应用技巧 用注册表强化网上邻居

  每次与内网用户进行信息共享传输时,“网上邻居”就会被派上用场;当然,在默认状态下系统的“网上邻居”功能十分有限,如果你想与内网朋友更高效、更安全地进行共享传输时,就必须想方设法挖掘“网上邻居”自身的潜能。这不,本文为了帮助各位网
收藏 0 赞 0 分享

教你在局域网中映射网络驱动器的使用

  一、为每个学生机建立“映射网络驱动器”   环境为Windows 98对等网。教师机名为“Teacher”,硬盘分成四个区为C、D、E、F;学生机有60台,计算机名为1~60,硬盘分成三个分区C、D、E。   首先在教师机的F盘上建立60个文件夹,文件夹的名字
收藏 0 赞 0 分享

节约成本 详解网络打印机安装方法

  现在很多单位为了节约成本,普遍采取共享使用网络打印机的方法,正巧笔者的单位也要求办公室和其他科室共用办公室的打印机,下面我们一起来看看如何添加网络打印机。   首先,在办公室的计算机上,安装好打印机的驱动,并且把打印机设为共享,
收藏 0 赞 0 分享
查看更多