初步认识三层架构

谈到三层,大家脑子里会立马浮出:显示层(UI)、业务逻辑层(BLL)、数据访问层(DAL。就是将整个业务应用划分为这三个层次。

三层结构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。目的是为了解耦合,也是就是实现“高内聚、低耦合”的思想。


显示层UI


通俗的讲就是展现给用户的界面,及用户在使用一个系统的时候他的所见所得


业务逻辑层BLL


针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。


数据访问层DAL


该层所做事物直接操作数据库,针对数据的增删改查等

下面我们香葱一个例子来初步认识三层,帮助我们理解。

我们知道,饭店里要有服务员、厨师、后勤人员。各个员工各司其职,服务员只管接待客人,向厨师传递顾客的需求;而厨师只管烹炒顾不同口味、不同特色的美食;后勤工作人员只管提供美食原料。

什么情况要我们没必要使用三层呢?

1、业务逻辑简单的情况下没必要使用,因为三层结构也是存在缺点的,不是任何时候使用都恰当。

2、没有真正的数据存储层,所以也就不需要访问数据层。

那么什么情况下我们使用三层呢?

抽象出业务逻辑层,当业务复杂到一定程度,数据存储到相应的数据库或独立的数据存储介质,需要使用三层。把数据访问脱离开业务单独存在,把业务脱离开UI单独存在(UI只需要呼叫业务访问层实现和用户的交互)

通过学习王继斌老师的三层视频,初步认识了三层的作用。

各层的作用


作用


UI


向用户展现特点业务数据

采集用户的输入信息和操作


BLL


从DAL获取数据,以供UI显示用

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

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


DAL


从数据源加载数据(Select)

向数据源写入数据(Insert、Update)

从数据源删除数据(Delete)

三层架构的优点:

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

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

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

4、有利于标准化

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

同样他也有它的缺点和不足之处:

代码量太多,执行速度慢。所以他不适用于对执行速度非常高的系统,会降低系统的性能,也会增加开发成本。

总结:

以三层架构模式开发出来的软件,极大的增加了软件的可维护性,但是还要权衡利弊,看看是否需要用到它。

初步认识三层架构

时间: 2024-10-08 15:15:02

初步认识三层架构的相关文章

简析三层架构

三层架构--3-tier architecture 通过几个问题,来初步的学习一下三层架构. 1.什么是三层架构 2.应用场景--为什么要用三层架构? 3.三层作用 4.各个层之间的关系 5.三层联系--引用 6.各层是怎样调用的 7.三层和二层的对照 这几个都是学习三层中最主要的问题,仅仅有把这些问题搞清楚.才算是打开了三层的门. 1.什么是三层架构 在软件体系架构设计中,分层式结构是最常见.也是最重要的一种结构.三层从下至上分别为:数据訪问层(DAL).业务逻辑层(BLL).表示层(UI).

MVC和三层架构的比较

以前涉及到.NET做项目,脑袋里面只有一个概念,那就是三层,最近学习了一种新的架构思想,那就是ASP.NET MVC+EF+EasyUI,我们的项目已经进行了一半了,对这个架构算是有了初步的认识.这篇博文主要是笔者对MVC和三层架构的一些理解. MVC设计模式  VS  三层架构 一.概念不同 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目. 那么两者有什么不同呢? 首先,当我们接手一个项目时,要设计软件的架构

利用General框架进行三层架构开发

三层架构是企业信息管理系统中一种比较流行的架构方式,如大家所知,三层架构将信息系统分为数据访问层(DAL).业务逻辑层(BLL).界面表示层(UI)三部分,三层架构的好处是根据系统中代码所处的层次将系统拆开,而通过业务模型(Model)再进行连接,降低系统各层次之间的耦合度,提升程序开发和后期维护的容易度. 由于三层架构是根据由上至下的层次进行分层,而不是根据功能.应用领域进行分层,所以三层架构在每一层的关注点并不相同,数据访问层关注的是跟数据库打交道的部分,业务逻辑层关注的是业务逻辑处理部分,

搭建连接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.在项

MVC三层架构模式编程思想 JSP-Servlet-JavaBean

MVC(Mdodel-View-Controller)编程模式,把一个Java应用分成三层:模型层.视图层.控制层,各层分别实现各层的功能,整个过程见下图就一目了然了. JSP.JavaBean.Servlet三层架构即MVC编程模式是现在我们学习web应用编程的基础思想,上图是经本人总结后做出的图,有不对的地方望各位朋友多提意见.

架构(三层架构)、框架(MVC)、设计模式三者异同点

对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器.如果列表中的元素全部都是相同的类型,并且这个类实现了Comparable接口,就可以简单的调用Collections.sort()方法,如果这个类没有实现comparable接口,那么可以创建一个比较器传递一个Comparator实例作为Sort()的第二个参数进行排序,另外,如果不想使用默认的分类顺序进行排序,同样也可以传递一个Comparato