如何理解三层架构,还有实体层

如何理解三层架构,还有实体层,第1张

三层结构就是

数据层、业务逻辑层、表示层,通过三层结构可以提供代码的复用率和可读性

,比如要在表示层显示数据库里的数据,如果你已经在数据层写好了取数据的方法,那么只需要通过逻辑层来调用此方法即可,不管用几次都调用即可,不需要重新写方法。实体层就是实体类的一个类库。采用分层结构,会使项目管理起来更有条理,更方便。

所谓

三层架构

,是在客户端与数据库之间加入了一个

中间层

,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

在项目开发的过程中,有时把整个项目分为三层架构,其中包括:

表示层

(UI)、

业务逻辑层

(BLL)和数据访问层(DAL)。三层的作用分别如下:

表示层:为用户提供交互操作界面,这一点不论是对于Web还是WinForm都是如此,就是用户界面操作。我们网站展示给用户看的界面。

业务逻辑层:负责关键业务的处理和数据的传递。复杂的

逻辑判断

和涉及到数据库的

数据验证

都需要在此做出处理。根据传入的值返回用户想得到的值,或者处理相关的逻辑。

数据访问层:见名知意,负责

数据库数据

的访问。主要为业务逻辑层提供数据,根据传入的值来操作数据库,增、删、改或者其它。

以下我简单介绍下一个

用户管理

模块:

为了整个项目的开发方便,我们在项目中会建几个类库

SQLHelper

,BLL,DAL,Model和一个Web网站。为了命名清晰,我们可以这样命名这个三个工程(即在解决方案里添加的类库):

业务逻辑层(BusinessLogicLayer):BLL,

命名空间

默认设置为BLL

数据访问层(DataAccessLayer):DAL,命名空间默认设置为DAL

SQL帮助类:SQLHelper,命名空间默认设置为SQLHelper

另外我们为了数据传递的方便,通常再添加一个类库,这个类库是贯穿于整个三层架构中的。即

实体类

。通常命名为Model,命名空间默认值设置为:Models。其中封装的每个类都对应一个实体,通常就是数据库中的一个表。如数据库中的用户表(custom)封装为(custom),将表中的每个字段都封装成共有的属性。

这样三层架构的搭建就基本完成了。这三层有着非常强的依赖关系:

表示层

业务逻辑层

数据访问层

他们之间的数据传递是双向的,并且通常借助实体类传递数据。

1、易于项目的修改和维护。在项目的开发过程中或者开发后的升级过程中,甚至在项目的移植过程中。这种三层架构是非常方便的。比如项目从Web移植到Form,我们只需要将表示层重新做一遍就可以了。其余两层不用改动,只需添加到现有项目就可以了。如果不采用这种架构,只是将代码写到表示层。那么所有的编码几乎都要重新来了。

2、易于扩展。在功能的扩展上同样如此,如有功能的添加只需把原有的类库添加方法就可了

3、易于代码的重用。这一点就不用解释了。

4、易于分工协作开

还可以加个接口类库Iinterface,

加入

设计模式

,使你的代码灵活性更好源码天空

其实,当我们做一个项目时,我们应该先考虑一下这个项目是不是应该应用三层/多层设计时,

先得考虑下是不是真的需要

实际上大部分程序就开个WebApplication就足够了,

完全没必要作的这么复杂

而多层结构,

是用于解决真正复杂的

项目需求

的。

一、什么是三层结构

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层

二、三层结构的优点

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

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

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

4、有利于标准化;

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

概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。

一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。

松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。

进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。

三、分层式结构缺陷:

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

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

物联网分为的三层分别是网络层、应用层、感知层:

1、网络层由各种私有网络、互联网、有线和无线通信网、网络管理系统和云计算平台等组成,相当于人的神经中枢和大脑,负责传递和处理感知层获取的信息。

2、应用层是物联网和用户(包括人、组织和其他系统)的接口,它与行业需求结合,实现物联网的智能应用。

3、感知层由各种传感器以及传感器网关构成,包括二氧化碳浓度传感器、温度传感器、湿度传感器、二维码标签、RFID标签和读写器、摄像头、GPS等感知终端。

物联网相关技术

1、地址资源

物联网的实现需要给每个物体分配唯一的标识或地址。最早的可定址性想法是基于RFID标签和电子产品唯一编码来实现的。

另一个来自语义网的想法是,用现有的命名协议,如统一资源标志符来访问所有物品(不仅限于电子产品,智能设备和带有RFID标签的物品)。这些物品本身不能交谈,但通过这种方式它们可以被其他节点访问,例如一个强大的中央服务器。

2、人工智能

自主控制也并不依赖于网络架构。但目前的研究趋势是将自主控制和物联网结合在一起在未来物联网可能是一个非决定性的、开放的网络,其中自组织的或智能的实体和虚拟物品能够和环境交互并基于它们各自的目的自主运行。

核心层:核心路由器,核心交换(多为三层)

汇聚层:交换机

接入层:交换机

他们的功能不一样所以分层区别,比如接入层需要满足即插即用,电脑插上线就能上网,满足局域网快速交换,核心层主要应对vlan间通信,这个多用三层交换做,而路由器主要用于外网寻路。

这个是百度百科,附

>

B/S结构软件的好处

何谓B/S结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse,如Internet Explorer,MYIE等)运行软件,即浏览器/服务器结构。

相对于C/S结构,尽管C/S结构相对于更早的文件服务器来说,有了很大的进步,但与B/S相比,缺点和不足是很明显的。

1首先,B/S比C/S的维护工作量大大减少了。C/S结构的每一个客户端都必须安装和配置软件。假如一个企业共有50个客户站点使用一套C/S结构的软件,则当这套软件进行了哪怕很微小的改动后(比如增加某个功能),系统维护员都必须进行这样的维护;将服务器更新到最新版本;将客户端原有的软件卸载,再安装新的版本,然后进行设置,最为可怕的是客户端的维护工作必须不折不扣的进行50次。若其中有部分客户端是在另外一个地方,则系统维护员还必须跑到该地方再进行卸载、安装、设置的工作。 若某个客户端,忘记进行这样的维护,则该客户端将会碰到版本不一致的问题而无法工作。 而B/S结构,客户端不必安装及维护。如果我们将前面企业的C/S结构的软件换成B/S结构的,我们看看软件升级后,系统维护员如何维护: 系统维护员只要将服务器的软件升级到最新版本就行了。其他客户端,只要重新登录系统,使用的就已经是最新版本的软件了。

2其次,B/S相对C/S能够降低总体拥有成本, C/S软件一般是采用两层结构的。

两层结构中,客户端接受用户的请求,客户端向数据库服务提出请求,数据库服务将数据提交给客户端,客户端将数据进行计算(可能涉及到运算、汇总、统计等等)并将结果呈现给用户。

在三层结构中,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结果呈现给用户。

这两种结构的不同点是,两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只是简单的接收用户的请求,显示最后的结果。由于三层结构中的客户端并不需要参与计算,所以对客户端计算机的配置要求是比较低的。

另外,由于从应用服务到客户端只传递最终的结果,数据量较少,使用电话线也能够信任。而采用C/S两层结构,使用电话线作为传输线路可能因为速度太慢而不能够接受。 采用三层结构的璐华软件的配置可以是提高服务器的配置,降低客户端的配置。这样增加的只是一台服务器(应用服务和数据库服务可以放在同一台计算机中)的价格,而降低的却是几十台客户端机器的价格。起到了降低总体拥有成本的作用。

C/S、B/S软件数据一致性比较

在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。

C/S、B/S软件数据实时性比较

在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。

C/S、B/S软件数据安全性比较

由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。

以上就是关于如何理解三层架构,还有实体层全部的内容,包括:如何理解三层架构,还有实体层、.NET三层架构解析一:什么是三层架构、C#中的三层结构等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:聚客百科

原文地址: http://juke.outofmemory.cn/life/3760186.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存