初识三层架构

三层是建立在面向对象的基础上设计的,分层的最高原则是高内聚,低耦合。三层架构将数据层、应用层和业务层分离,业务层通过应用层访问数据库,保护数据安全,利于负载平衡,提高运行效率,方便构建不同网络环境下的分布式应用。

1、三层架构概述

物理分类:显示层、业务逻辑层、数据层

逻辑分类:UI、BLL+DAL、DB

2、什么情况下使用三层架构?

  
业务复杂,需要独立数据存储。

3、三层的作用

3.1、显示层

UI的作用:向用户展现特定的业务数据;采集用户的输入信息和操作。

3.2、业务逻辑层

BLL的作用:从DAL中获取数据,供给UI显示用

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

从UI中获取用户指令和数据,通过DAL写书数据源

3.3、数据访问层

DAL的作用:从数据源加载数据(Select)

向数据源写入数据(InsertUpdate)

从数据源删除数据(Delete)

4、具体应用原则

4.1、DAL只是提供基本的数据访问,不包含任何业务相关的逻辑处理

4.2、UI只负责显示和采集用户的操作,不包含任何的业务相关的逻辑处理

4.3、BLL负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的

时候直接交给DAL处理,处理完毕后返回必要的数据给UI。

5、三层之间的依赖关系

数据访问层的类,直接访问数据库,实现基本记录操作。

业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。

界面层:部署控件后,调用业务逻辑层的类,实现功能。

6、三层设计的优缺点

6.1、优点

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

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

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

4、有利于标准化;

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

6.2、缺点

1、降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数

据,如今却必须通过中间层来完成。

2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功

能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的

代码。

7、小结

刚刚开始学习三层的时候觉得很乱,慢慢的将思路理清了,在UI的类调用BLL类中的方法(或者是函数),然后BLL类在根据UI传递过来的信息在调用DAL类中的方法(或者函数),DAL类再根据BLL传递过来的信息再去访问数据源。

时间: 2024-10-10 02:24:04

初识三层架构的相关文章

菜鸟学飞-初识三层架构

刚刚看完传智播客关于.net三层架构的视频 ●  c#是面向对象的语言,则c#操作的是对象. ● 三层架构是一种思想:把从[数据库读取]-到-[展现]的过程分为三个层来处理. 数据访问层(DAL:Data   Access   Layer):负责所有关于数据库操作的事情,离开了这个层就不能再出现任何和数据相关的操作,都只能是对[对象]的操作. 业务逻辑层(BLL:Business   Logic   Layer):负责把从数据层得到的数据(视图.字符串.数字等),按数据模型封装为一个[对象],对

三层架构介绍及线程与进程的关系

1.初识三层架构(其实就是吧同种类的全部放到一起) 1).用户交互 2).逻辑处理 3).数据存储 2.多线程与多进程 进程:是操作系统自己派生出来的. 线程:是由进程派生出来的. 1)一个程序至少有一个进程,一个进程至少有一个线程. 2) 线程的划分尺度小于进程,使得多线程程序的并发性高. 3) 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率. 4) 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和程序的出口.

三层架构初识和搭建

一.是什么? 1.表现层(UI):展现给用户的界面,用户在使用一个系统的时候他的所见所得.主要表示Web或WinForm方式,对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问.如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务. 2.业务逻辑层(BLL):针对具体问题的操作,主要负责对数据层的操作,对数据业务逻辑处理. 3.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添.删除.修改.查找等具体为业务逻辑层或表示层提供数据服务. 二.为什么?

初识三层结构

第一次听说三层结构,是九期的一个师哥在给我们讲高校云平台.那天的感觉像是在听天书,以前从没有接触过.不过,那几个不断在师哥口中重复的名词BLL层.DAL层还是留下了些印象.现在自己来到三层结构的学习了,对师哥讲的那些词算是有种久违的感觉.下面就对三层结构的初识做个总结. 一. 多层结构的划分方式. 结构的划分方式有两种,分别是物理上和逻辑上.从物理的角度来说,可分为显示层.业务层和数据层.从逻辑的角度看,可分为UI层.BLL+DAL层以及DB层.这里我们所说的三层结构是指逻辑上划分的三层. 刚开

asp.net mvc 加三层架构 完美搭配

http://www.hysql.org/aspnet/20180630/5712.html 先来一张项目的层级结构图: Model:模型层,主要是各种类型.枚举以及ORM框架,框架完成数据库和实体类的映射.项目中选用了微软的开源ORM框架 EntityFramework 6.0 (以下简称EF),数据库则选择了微软的轻量级数据库SQL Server Compact 4.0本地数据库(简称Compact),Compact对EF支持比较完美,又属于文档型数据库,部署起来比较简洁. DAL:数据访问

搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi

里我们用三层架构搭建一个连接MySql的ASP.netCore模板的WebApi项目 首先添加WebApi项目(ASP.NetCore版本) 右键解决方案>新建项目> 选择Web>ASP.NET Core Web应用程序(.NET Core) 选择Web API 此时的目录结构: 添加实体层Entity 右键添加>新建项目>.Net Core类库 添加后的目录结构 BaseEntity: using System; using System.Collections.Gener

C#三层架构

最近新学的,C#中得三层架构                                                                                ----2016-10-23 表示层 业务逻辑层(BLL) 数据访问层(DAL) 关联:产生依赖关系 描述:三层体系结构就是在客户端和数据库之间加一个中间层,通常情况下客户端不能直接和数据库进行交互,而是通过中间层和数据层进行交互的. [表示层] 主要负责完成用户和系统的交互. 它接收用户输入的信息,并把上级传

后台三层架构

后台三层架构 所谓的三层开发就是将系统的整个业务应用划分为表示层.业务逻辑层.数据访问层,这样有利于系统的开发.维护.部署和扩展. 分层实现了“高内聚.低耦合”,采用“分而治之”的思想,把问题划分开来解决,易于控制.延展,易于分配资源. 第一层:表现层/表示层:负责直接跟用户进行交互,一般是指系统的界面,用于数据录入.数据显示等.意味着只做与外观显示相关的工作,不属于它的工作不用做. 第二层:业务层/服务层:用于做一些有效性验证的工作,以更好地保证程序运行的健壮性.如完成数据添加.修改和查询业务

三层架构1

一.三层框架 表现层:也叫视图层,用html.css.js.jquery 业务逻辑层:也叫控制层,包含业务逻辑的实现部分 数据管理层:与数据库直接交互的部分 二.组建三层框架(现有实例) 1.数据管理层 A.引入Model类 创建项目之后在项目的同级目录上建立Model的目录,相应的在保存项目的硬盘上也建立Model的目录.然后把Model.Base复制到硬盘上也建立的Model目录下,并在项目的Model下引入硬盘Model.Base线面现有的Model.Base.csproj模块. B.在项