三层架构解析图文教程

所属分类: 软件教程 / 网络通讯 阅读数: 654
收藏 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、在后期维护的时候,极大地降低了维护成本和维护时间。

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

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

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

企业如何监控员工聊天、玩游戏、BT下载、浏览无关网址?

 互联网的飞速发展,给企业带来了丰富的信息资源,使企业能充分享受互联网带来的种种便利,大大增强了企业的竞争力,不过另一方面我们也应该看到,由于网络应用的快速发展,不可避免地会产生许多问题,传统的经营管理方式显露出致命的盲点和误
收藏 0 赞 0 分享

大唐电信A-400猫ADSL 开启路由设置方法

因为手头没有更多的猫,所以只能以这个为例了,它的设置比较简洁明了,只是功能较少! WEB设置界面,顾名思义,就是用浏览器来进行连接设置的! 根据其说明书上厂家的默认IP。在浏览器地址栏上输入192.168.1.1回车进入设置界面!(如果有无法连接
收藏 0 赞 0 分享

腾讯课堂怎么查上课记录 腾讯课堂查看以前看过的课程的教程

腾讯课堂怎么查上课记录?怎么查看自己上课时长,有的朋友对此可能还不太清楚,下文中为大家带来了腾讯课堂查看以前看过的课程的教程。感兴趣的朋友不妨阅读下文内容,参考一下吧
收藏 0 赞 0 分享

钉钉项目怎么分享到其他群? 钉钉项目共享的操作过程

钉钉项目怎么分享到其他群?钉钉中的项目人物想要分享到其他群一起共享,该怎么分享呢?下面我们就来看看钉钉项目共享的操作过程,需要的朋友可以参考下
收藏 0 赞 0 分享

PC腾讯会议黑屏怎么办 腾讯会议共享屏幕黑屏的解决步骤

腾讯会议电脑版在共享屏幕的时候总是黑屏,那么是什么原因造成的腾讯会议黑屏呢?遇到腾讯会议黑屏又该如何解决呢?遇到此问题的朋友一起看看吧
收藏 0 赞 0 分享

钉钉项目任务怎么添加审批表单?

钉钉项目任务怎么添加审批表单?很多朋友或许会疑问为什么添加审批表单?只有绑定的审批表单流程审批通过或者撤销了才可以进行任务完成的操作,下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

腾讯会议弹幕怎么开? 腾讯会议弹幕的玩法

腾讯会议弹幕怎么开?腾讯会议在使用的时候,想要开启弹幕,该怎么打开弹幕呢?下面我们就来看看腾讯会议弹幕的玩法,需要的朋友可以参考下
收藏 0 赞 0 分享

微小宝是做什么用的?微小宝使用图文教程

微小宝是公众号运营工具,具有的功能包括多设备同步登录、云端保存、拖动排序、账号搜索等。下文小编就为大家带来了微小宝使用图文教程,一起看看吧
收藏 0 赞 0 分享

WinSCP如何导入站点配置?

WinSCP作为一款专业且优秀的文件传输软件,支持基于SSH-1、SSH-2 的SFTP 和SCP 协议,我们可以使用它进行下载、上传文件以及复制、移动、更名文件或文件夹等操作,功能十分强大。那么,WinSCP怎么导入站点配置呢,赶紧看看吧
收藏 0 赞 0 分享

WinSCP如何更改界面主题?

WinSCP默认的界面主题是浅色的,但其实,WinSCP除了浅色主题以外,还有个深色主题,它比浅色主题更具有个性化特点。那么,WinSCP怎么更改界面主题呢,赶紧看看吧
收藏 0 赞 0 分享
查看更多