三层架构-------理论篇

概念:

通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

各层概念

1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

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

3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。

注:应用三层离不开另一个重要的类:实体类,现在接触的主要是数据库表抽象出的类,表中的每个字段就是一个具体实例。同样跟业务实体相关的事物都可以成为实体类。

各层的作用

1、数据访问层:从数据源加载数据(Select);向数据源写入数据(Insert/Update);从数据源删除数据(Delete).                              是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务,不包含任何与业务相                               关的逻辑处理。

2、业务逻辑层:  从DAL中获取数据,以供UI显示用;从UI获取用户指令和数据,执行业务逻辑;从UI中获取用户指                               令和数据,通过DAL写入数据源。对数据层的操作,对数据业务逻辑处理。

职责机制:UI->BLL->UI;UI->BLL->DAL->BLL->UI

3、表示层:从向用户展现特定业务数据;采集用户的输入信息和操作。主要表示WEB方式和WINFROM方式。

原则:用户至上,兼顾简洁。

4、实体类:对于表示层来说,界面通过实体类传递数据,将解析实体对象中封装的数据展示给用户;将用户请求的                       数据封装到实体对象中。对于业务逻辑层来说,将接受到的实体对象传递到下一层;根据用户请求对实
                       体中数据进行处理。对于数据访问层来说,从数据库取得数据通过实体类返回。

三层关系图

加入实体后的关系图

优缺点

优点

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

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

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

有利于标准化;

利于个曾逻辑的复用;

结构更加的明确;

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

缺点

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

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

增加了开发成本。

下篇是三层结构的实践篇

三层架构-------理论篇

时间: 2024-10-21 18:52:03

三层架构-------理论篇的相关文章

三层架构理论篇

对于三层架构的理论阐述,我将从三个大的方面去讨论:what.why和how,说白了也就是以三层架构为中心,去了解什么是三层,为什么用三层以及怎么用三层这个三个问题.OK,废话不多说,进入正题. 什么是三层架构?(What) 通常多层结构的划分方式有两种:分别是物理和逻辑.物理上的三层结构是指将整个应用系统分为显示层.业务层和数据层,并且这三个层面上的实体都是硬件,比如显示层就是客户机器,业务层通常是应用程序服务器,而数据层就是数据库服务器了. 今天我们讨论的主要是逻辑上的三层架构,是在软件设计时

三层学习------理论篇

学校放假了,刚回家的孩子就像个客人被父母招待着.在放假的前几天里,你尽管开口,想吃啥爸妈都会满足你,不过好景可不长!在我家,厨房是老妈的地盘,买菜.做饭.洗碗刷锅,一个人全包了.而在饭店吃饭呢,吃饭的人多了,顾客点的饭菜种类各不相同.前前后后,一个人忙乎,哪里顾得过来,所以饭店就有了分工.前台服务员负责将顾客点的菜上报给厨师和:厨师根据上报的菜单做菜:采购员负责柴米油盐酱醋茶.这样,大家各司其职,井井有条. 我们在家中吃饭比较简单,没有具体的分工.饭店就是一个复杂庞大的系统了,需要合理规划,分工

三层结构——理论篇

为什么要分层? 1.开发人员可以只关注整个结构中的其中某一层:2.可以很容易的用新的实现来替换原有层次的实现:3.可以降低层与层之间的依赖:4.有利于标准化:5.利于各层逻辑的复用.6..方便团队分工 分层: 将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 1. 表现层 位于最外层(最上层),离用户最近.用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面.它是系统的UI部分,负责使用者与整个

三层架构理论总结

What? 三层架构就是将整个业务应用划分为:表示层(Presentation Layer).业务逻辑层(Business Logic Layer).数据访问层(Data Access Layer). Why? 区分层次的目的是实现"高内聚,低耦合"的思想.三层结构是软件架构设计中,最普遍的一种结构. When? 当有数据访问以及业务逻辑的时候就要考虑使用三层结构了,此三层结构是按逻辑划分的.把数据访问脱离业务单独存在,把业务脱离开界面单独存在. 当数据逻辑简单,没有数据存储层,不需要

三层架构—简析

三层学习完了,第一次验收的时候,自己理解的也不是很到位,后来又重新敲了一遍登陆例子,查阅了一些资料 进行第二次验收才感觉清晰了许多.之前画时序图时我就想过时序图基本上也是很好的体现了三层,当时也和别人讨 论过这个问题.直到学完三层后,更加证明了这一点. 下面我将从理论和实践两个角度总结一下三层. 理论篇 为什么使用三层架构? 说白了,分层的目的是想将复杂问题简单化,也就是面向对象技术所崇尚的"高内聚,低耦合".当业务复杂到 一定程度,数据存储在独立的存储介质时适合用三层架构. 什么是三

从三层架构迈向领域驱动设计

本文读者基本要求:从事信息管理系统开发,略懂GOF设计模式及SOLID设计原则,对三层面向过程机械编码厌倦,并且不知道出路在何方,如果还掌握代码坏味和重构手法,那是极好的. 1. 三层架构 理论介绍-->实际经验-->总结反思 1.1 简单介绍三层架构 严格分层架构模式的特点是上层只能访问相邻的下层,其他层次间的调用都不允许.三层架构就是一种严格分层模式,它把职责划分为界面展示.业务逻辑.数据访问三层,还有一个业务实体,前面三层都要依赖它,所以它并不构成一个层.结构如图1. 三层架构的特点是一

【SSH2框架(理论篇)】--SSH2 Vs 经典三层

 这几天一直在学习使用SSH2框架.对于框架本身的使用并非非常困难.相信经过多锻炼就行熟练的掌握框架的使用,让我匪夷所思的是在使用框架的时候感觉非常熟悉,好像在哪里用过似得. 就在某次查看代码的时候突然闪现了一个想法,SSH2框架和经典三层非常相似.当然经过翻阅资料发现我的想法还是有理论根据的,接下来将会证实该猜想. 一.SSH2初识 我们通常所说的SSH2框架事实上是有三种框架集成的.它们各自是基于MVC模式的Struts2框架和基于IoC模式的 Spring框架以及对象/关系映射框架Hi

三层架构篇

QQ:1187362408 欢迎技术交流和学习 关于三层架构(ADO.NET): TODO: 1,页面表现层:统一调用BLL中的方法名称 2,业务逻辑层:依据业务需求,编写业务逻辑方法 3,数据访问层:对业务的每一项需求明细,编写数据处理方法 讲解篇: 1,页面表现层:只展现页面 2,业务逻辑层:只处理业务 3,数据访问层:只处理具体每一项业务数据

理论与实际相结合——三层架构解析

通常在程序编程中我们所说的三层架构是指:显示层(UI).逻辑层(BLL)和数据访问层(DAL).对于这三层来说,分工明确,各自有各自负责的领域. UI层:1.负责向用户显示数据  2.负责采集用户输入的信息 BLL层:1.从DAL获取数据,以供UI显示 2.从UI中获取指令或数据,经业务逻辑送达到DAL DAL层:1.主要用于对数据源的增删改查的操作. 通过它们各自负责的领域我们可以看出,BLL层属于中间层,它负责UI和DAL层之间的通信.那么通常我们还会加入一个实体层(Enity):主要负责返