三层基本理解

三层已经学习了一段时间,对一些基本的知识该进行一下总结,颗粒归仓,对三层有一个宏观的理解。

一、简介

三层是将整个业务分成显示层(UI),业务逻辑层(BLL)和数据访问层(DAL)

显示层(UI):

它的作用是向用户展现特定的业务数据,采集用户的输入信息和操作。通俗的讲就是展现给用户的界面,它不包含任何业务逻辑。

业务逻辑层(BLL):

简单说就是针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理,处于中间的位置,对数据的访问起到一个承上启下的作用。

它的主要作用有三个:

(1)从DAL中获取数据,以供UI显示用

(2)从UI中获取用户指令和数据,执行业务逻辑

(3)从UI中获取用户指令和数据,通过DAL写入数据源。

它的基本流程大致是:UI层获得指令操作和操作数据—>执行业务逻辑—>数据传送给DAL(DAL发送到数据源)—>接收从DAL获得的数据—>将处理完成的数据返回给UI

数据访问层(DAL):

提供基本的数据访问,实现对数据库的增、删、改、查,不包含任何业务相关的逻辑处理。

实体层(Entity):

实体体现了面向对象的思想,把大量的数据进行封装,然后再进行传递。在大量数据的情况下,如果有很多个参数需要进行传递,容易造成错误,如果使用实体层,只需要调用实体就可以了。在实体层里通过Get()和Set()获取或者设置实体对象里的成员属性值。

二、各层之间的关系

三层之间:

三层与实体层之间:

三、总结

使用三层是为了解耦,上一层依赖下一层,如果这一层没有问题那就是另一层的问题,便于发现问题,解决问题。三层可以很好的提高效率,界面设计人员、代码编码人员、数据库设计人员,分工明确,都各负其职的负责好自己的任务就好,而不是像原来一样每个人都需要从业务的需要分析到具体实现都要独自完成。但是分层不是分的越多越好,不能盲目的分层。这些要在以后的学习实践中慢慢的体会。

时间: 2024-10-27 18:47:12

三层基本理解的相关文章

对于delphi 三层的理解

楼主的想法代表大多数人的想法,就是用工具的时候只想着便利,完全不想着创造,DataSnap只是一个框架,谁让你非得去用它全部的功能了,你完全可以自己写一些逻辑去在DataSnap之上,你非要用绑定去实现,它效率肯定很低.可以说你根本不理解什么叫三层,三层只是一种思想,并不是一种技术,不是说哪种技术就是三层或者说你创建了Entity和DAL就叫用了三层.你真正把客户端和服务端以及数据库分离开了,就是真正的三层.效率你可以通过手工写一些代码来实现的. Datasnap增强了对客户端软件的链接控制,通

三层架构理解

三层架构是将整个业务分成:表示层,业务逻辑层,数据访问层,已达到"高内聚,低耦合"的思想:当一个软件系统较大时,采用分层的思想,可以降低复杂度. [划分] 经典三层可以按照物理和逻辑两种划分方式,物理的划分方式是基于物理硬件的结构来划分的,使系统更容易布局到实际应用中:逻辑划分则站在软件设计的角度进行的划分. [依赖关系] 添加的实体负责各层之间的数据传递. [功能] 三层的设计理念大大简化了设计复杂度,有利于开发过程的分工,提高各个逻辑层之间的复用,降低开发成本和开发时间.我们必须了

比较好的三层的理解(转载)---基于工厂模式

在项目开发时,有时候可能会增加或修改新的数据库,比如,刚开始我们项目用SQL Server 数据库,但后来需要用Oracle 数据库,或者说在某些情况下需要用Oracle 来代替SQL Server 数据库,甚至两种情况会同时存在,但数据库访问方面 Oracle 和SQL Server 是不同的,它们的语句写法不同,甚至所示哟哦那个的.NET Framework  数据提供程序也是不同的,那应该怎么办呢? 1. 新增数据访问层 我们不修改原来的DAL的代码,可以将原来的项目命名为SQLServe

浅谈三层

三层大家都知道了,各种生活化的例子也就不再向大家举了.这里说说我对三层的理解. 三层: 所谓三层体系结构,是在客户端与数据库之间加入了一个"中间层",也叫组件层.这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上. 三层究竟有哪三层: 表现层(User Interface).业务逻辑层((Business Logic Layer).数据访问层((Data Access

浅谈三层模式

总觉的对三层的理解很肤浅,这几天看了相关的资料,无非谈的就是概括和基本组建附加个小例子!看完了,感觉说的大同小异,自己的理解好像也没什么多大变化,只不过加深了点罢了.不过想想有几天在这方面的思考,还是总结一下吧! 你去饭店吃饭,就遇见了三层,咱们唠唠吃饭这事! 服务员的作用就是给你上菜,收集你的信息,比如来个鱼香肉丝,或是几瓶啤酒,烤串什么的!总之你的一切请求都只是面向服务员的!至于厨师是男的,女的,负责给厨师买材料的采购员,你是没必要知道的.一切为了顾客,就是服务员的宗旨!等哪天这个服务员辞职

开启 J2EE(七)— Model1、Model2和三层架构的演变

Model1和Model2是Javaweb开发的两种常见的模型,Model1是jsp+javabean的模式,Model2是jsp+servlet+javabean的模式.JavaBean就是将逻辑处理.数据库访问等等,在java中对对象进行的打包(对应下文图中的业务逻辑). 下面就详细的认识认识: 一.Model1 在Model1模型中,是以JSP为中心,这种模型中JSP既要做页面显示,又要结合业务逻辑处理服务端过程,简单说就是Model1开发没有Servlet,JSP中既有HTML代码又有逻

三层实例--添加信息

对三层的基本知识已经有了一定的了解和掌握,但是要想真正去灵活运用它还需要我们去实践,只有经过亲自动手操作实现后才能理解得更加透彻. 首先我们需要建一张数据表,以我的为例,建一张Users表,添加UserName.Password.Email等字段. 然后就开始在VS上进行操作,先建一些基本的项目,如下表: 实体类是贯穿于三层之间,进行数据传递: Public Class UserInfo Public ID As Integer Public UserName As String Public

【机房收费系统个人版】三层登陆

机房收费个人版这个项目,很早就开始进行了,但是直到现在还没有完成..原因有两方面,首先是自身的个人管理不到位.做事拖拖拉拉,没有很好的节制自身的不良习惯:其次是思想价值观极端化.世界上没有谁能将所有事情都做得完美无瑕,追求完美是一个美好的过程,但最终还是需要一个结果的.当鱼和熊掌不能兼得时,那么就要放弃,选择最重要的坚持下去!不要去纠结,会让你发疯.. 下面这张导图是我对三层的理解以及敲代码的指导方针. 首先,三层登陆由四部分组成.分别是UI层.BLL层.DAL层和Models实体.UI层的作用

实体传递(三层)

[1]为什么要用传递实体? 在面向对象的方式编程时,我们的目的就是要使整个业务逻辑变得清晰,以及整洁的代码,这样方可达到大规模的合作.就比如说update一个类,对应数据库100个字段,我们不可能通过传递参数那样把100个字段一一传入,唯一可取的方法便是传递实体,通过传递一个实体,来更新实体中的每一个字段. [2]实体传递的过程(以代码为例) 在敲三层登录实例时,起初是以传递参数来实现的,后来在成功实现登录功能后把传递参数改为了传递实体.(着实感觉其方便之处) (1)UI层代码:(实体的传递过程