首页 > 知识库 > 正文

三层架构专业术语是什么 三层架构是什么意思

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。基本信息 中文名:三层架构 英文名:3-tier architecture 分类:界面层、业务逻辑层、数据访问层目的:“高内聚,低耦合”的思想优点:降低层与层之间的依赖 标准化缺点:系统架构复杂,不适合小型项目

三层结构原理

三层架构

3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。

所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上。

三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。

各层的作用

1:数据访问层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。

2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。

3:界面层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

区分方法

1:数据访问层:主要看数据层里面有没有包含逻辑处理,实际上它的各个函数主要完成各个对数据文件的操作。而不必管其他操作。

2:业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

表示层

位于最外层(最上层),最接近用户。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

业务逻辑层

业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将应用逻辑与领域逻辑的解决方案分离。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

数据层

数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。

简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。

规则

三层结构的程序不是说把项目分成DAL,BLL,WebUI三个模块就叫三层了,下面几个问题在你的项目里面:

⒈ UILayer里面只有少量(或者没有)SQL语句或者存储过程调用,并且这些语句保证不会修改数据?

⒉ 如果把UILayer拿掉,你的项目还能在Interface/API的层次上提供所有功能吗?

⒊ 你的DAL可以移植到其他类似环境的项目吗?

⒋ 三个模块,可以分别运行于不同的服务器吗?

如果不是所有答案都为YES,那么你的项目还不能算是严格意义上的三层程序. 三层程序有一些需要约定遵守的规则:

⒈ 最关键的,UI层只能作为一个外壳,不能包含任何业务逻辑(BizLogic)的处理过程

⒉ 设计时应该从BLL出发,而不是UI出发. BLL层在API上应该实现所有BizLogic,以面向对象的方式

⒊ 不管数据层是一个简单的SqlHelper也好,还是带有Mapping过的Classes也好,应该在一定的抽象程度上做到系统无关

⒋ 不管使用COM+(Enterprise Service),还是Remoting,还是WebService之类的远程对象技术,不管部署的时候是不是真的分别部署到不同的服务器上,最起码在设计的时候要做这样的考虑,更远的,还得考虑多台服务器通过负载均衡作集群

所以考虑一个项目是不是应该应用三层/多层设计时,先得考虑下是不是真的需要? 实际上大部分程序就开个WebApplication就足够了,完全没必要作的这么复杂. 而多层结构,是用于解决真正复杂的项目需求的。

优缺点

优点

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

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

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

4、有利于标准化;

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

6、结构更加的明确

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

缺点

1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

3、增加了开发成本。

与MVC的区别

MVC(模型Model-视图View-控制器Controller)是一种架构模式,可以用它来创建在域对象和UI表示层对象之间的区分。

同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。

在三层架构中没有定义Controller的概念。这是最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是由业务逻辑与访问数据组成的。而MVC里,则是以实体类构成的。

声明:本网内容收集自互联网,旨在传播知识仅供参考,不代表本网赞同其观点,文字及图片版权归原网站所有。

更多精彩内容推荐:

鄂州真的会并入武汉吗?为什么?

感觉越来越真实了。...

2019年什么时候立秋,立秋之后还热吗?菜园子能种植什么蔬菜?

我是平凡之路,很高兴来回答问题。今天都7月16号了,入伏第五天了,气温有明显的提高,关键还是湿度大,闷热难受,难怪很多人都只想待在空调房里,不想出去。2019年的立秋是8月8号,是中伏的第十八天,中伏8月10号结束,可以说,一年中中伏是在大暑期间,是平均气温最高的时期,这个时期是...

不想你血管被堵死,少碰“三物”,禁忌“两黄”,你知道是什么吗?

血管疾病,是目前严重困扰我国国民的健康问题。尤其是心脑血管的疾病,已经超越癌症,成为导致我国城乡居民死亡和残疾的罪魁祸首。心脑血管疾病,已经是致死率和致残率第一的一组疾病。那么我们要如何预防血管堵塞呢?我结合我多年的工作经验,为大家介绍一下。要想预防血管堵塞,首先要少碰下面几种东...

为什么有的人一直生男孩,有的一直生女孩?

我们都知道男性的性染色体是XY,女性的性染色是XX,因为受传统观念的影响,很多人一直认为是生男生女问题都在女方,其实不是的,生男孩还是女孩完全取决于男性的Y染色体,也就是说,到底是生男孩,还是生女孩,都是男方决定的。为什么有的人一直生男孩?男性的X染色体和Y染色体各有一般的几率机...

你被抓进精神病院,如何一句话证明你不是精神病人?

你是一个正常人,你被误抓到精神病院里面。你在精神病院院长面前只能说一句话,错过了就一辈子被关在精神病院。你会说什么?...

有什么非常值得入手的电子产品?

极米投影仪Z4x,这些年我最不后悔购买的电子产品。还记得刚毕业那会,为了租一个房子焦头烂额,对生活品质的需求,在第一个份工作收入面前,显得不堪一击。一张床,一张桌子,一个空调,就是最好的配置了,一台电视都是奢望。但是对于电视机,我一直以来都有执念,家里有电视机,才是一个有温度的家...

汽车开几年卖掉最划算?

几年卖掉划算还应该根据自身需求条件有关系,不卖一直开下去最划算!新车买回来之日起,就面临着贬值,例如挂牌后所交的购置税基本就是打水漂了!卖二手车的时候都是按照裸车价格来计算,例如十万的裸车,加上购置税保险等,落地要11.5w。而你要转手时,评估车价的时候就是按照裸车价格即10w来...

南阳南部规划多远?

感谢邀请,从目前南阳的规划来看,南阳发展还是非常有侧重点的,向南也是规划到宁西铁路和二广高速交叉点一带。从2017年到2020年的用地规划来看,南阳向南部重点发展的是白河到沪陕高速、二广高速之间的区域,这片区域也将对村庄进行安置,进行产业化发展,只有一小部分在沪陕高速以南,再向南...

2019年11月后北京外地牌照车一年只能开84天,这该怎么办?

我有一辆车是外地牌照,买了不到一年,开了3万公里,卖掉有点舍不得,不卖怎么办?怎么才能卖高点价?...

男人湿气重,怎么排湿?

作为六邪气之首的湿气,近些年备受关注,主要是湿气重降低人们生活质量,而且也容易同其他疾病“勾结”生成新的疾病,如同寒结合成为湿寒,同风结合成为风湿。所以,针对湿气应是早发现早治疗,这样才能趁轻快速治好。右上角关注帮忙点一下,每天推送有意思有知识的文章给您!男性湿气重的表现有哪些?...

四十多的女人对我动手动脚怎么办?

四十多的女人,对你动手动脚,怎么回事?你可能很小,语气里能看得出你的惊慌!做为一个二十岁的小伙子,我来回答一下。就在前几天,我的一个大姐姐,工友,她四十岁,已经离婚十年了,儿子不在身边。我和她在饭店打工,她是涮碗工,我跑盘的。她下班了,找我,说她家淋浴器坏了,让我帮忙修一下!我听...

古代的“玉女天梯”酷刑是谁发明的?为什么会让女性闻之色变?

在古代有着各种各样的刑罚,拿来惩戒罪人或者拿来审问奸细,比如:凌迟、斩首、剥皮、宫刑等等令人作呕的惩戒方式。而其中就有着一些专门为女性发明的刑罚:骑木驴、幽闭、宫刑、以及玉女登梯……在男尊女卑的古代封建社会,条条法律都是趋向于男性的。虽然说男性的酷刑也有很多,但女性的酷刑更多更恐...

你见过字最少的笑话是什么?

简短搞笑的段子来几个~1兄弟今天结婚了,来到新娘家接新娘,见到新娘后单膝下跪道:“余生多指教!”新娘的弟弟在一旁端着喜字接道:“她能指教你啥?她也就能指挥你跑跑腿买买零食~”2“妈妈,我想养只狗!”“不行,现在狗粮那么贵!拿啥给它吃啊?”“它吃不了多少的!给点剩饭剩菜就行了!”“...

面对病人的隐私部位,护士都是怎么避免尴尬的?

在泌尿外科十几年,我必须要说的是——都是从小萌新变身大魔王的,开始还会有尴尬,不用一个星期,尴尬是什么?拿我科室的一个96年“萌新”小护士来说,记得她刚到我们科室来的时候,知道要给病人做备皮,吓得花容失色。然而我们这些已经久经“沙场”,见惯市面的老司机丝毫没有“同情心”,不仅多推...

遇到高需求女生该怎么应对?

可能因为这类女生遇到的不多,所以遇上个两三个,就感觉很难应对。她们通常表现有三种:一、谁都欠她型别人好心帮了她,但是她会因为别人帮助的不够好,或者在下一次有需求时对方不来主动帮助,就会非常愤慨,并对帮过她的人给予各种指责,甚至仇恨。二、委婉高频型这种类型是总会发生团队协作,或者集体活动的情景中。她会在任何安排好的事情要执行时,她会提出能不能单独考虑一下她的情况,给与特殊照顾,而且这种要求往往会关系到团队中其他人都要给与迁就,让别人为此付出更多一些。尽管这类女生提出这种要求时很委婉,但是每一次任何活动安排好后都会提,总是会让别人不得不重新考虑原计划是不是可以更完善一些,但是结果就是尽管考虑到她,可是她还是不会觉得太完美,并不会完全满意,只不过会流程化的表达一下谢谢。三、据理力争型这种女生很理性,总是强调自己的正当权益,但是她的正当权益往往会侵犯到别人的正当权益,那么她会追责管理者安排滴不合理,并且找出一大堆看似合理的理由。没有任何合作精神,完全以所谓的平等和权利,让很多需要彼此照顾和妥协才能进行下去的事情无法进行。四、设法攀比型发现团队中某些人因为偶尔的特殊原因,或者个人极其特殊的原因得到了一些优待,她就要求自己也要享有同样的优待,并且还想办法找出一些自己有的没的特殊理由。但是当曾经受到过照顾的人回馈集体时,她就躲得远远的了。除去以上四种,应该还有别的类型,但是以上四种类型无论哪一种我都招架不住,所以特此提问!望回答!谢谢!...

术语计算机三层架构昼虎raujzsvisjlzqyis006yangzhong521彡岁就爱笑98wangwenyou27
猜你喜欢
热门推荐
今日推荐 更多
猜你喜欢