三层架构理解

三层架构是将整个业务分成:表示层,业务逻辑层,数据访问层,已达到“高内聚,低耦合”的思想;当一个软件系统较大时,采用分层的思想,可以降低复杂度。

【划分】

经典三层可以按照物理和逻辑两种划分方式,物理的划分方式是基于物理硬件的结构来划分的,使系统更容易布局到实际应用中;逻辑划分则站在软件设计的角度进行的划分。

【依赖关系】

添加的实体负责各层之间的数据传递。

【功能】

三层的设计理念大大简化了设计复杂度,有利于开发过程的分工,提高各个逻辑层之间的复用,降低开发成本和开发时间。我们必须了解三层功能的基本功能的基础上才能学会如何应用。

DAL层(最底层):实现对数据库数据操作的增、删、改、查。常常用到的技术是ADO.NET+SQL语句、O/R Mapping架构。这次的登陆窗体时间用到的就是ADO.NET+SQL语句:

数据连接常用的ADO.NET类库有:connection类,command对象,Datareader类,Dataset对象,Dataadapter类和Datatable类。

connection:建立与数据库连接。连接的内容是“SDUP”,即:server(服务器),database(数据库名称),User ID(用户ID),Password(用户密码)。举例:

connString = "Server=服务器名称;Database=数据库名称;User ID=数据库登陆用户ID;Password=用户密码"

command对象:对数据库执行相应的命令。常用属性和方法:

DataReader:从数据表中读取一串数据。

DataSet对象:数据在内存表中的表现形式。

DataTable:是VB或ASP中的控件,网格化的结构,无需代码即可绑定数据库。

BLL(中间层):从UI层获得指令操作和操作数据,执行业务逻辑,将数据传送给DAL发送到数据源;从DAL获得数据供给UI显示。

UI(高层):采集和和显示用户操作,不包含任何业务逻辑

【总结】

三层的基础知识了解以后,任然存在很多问题:像提醒业务操作的弹出框(包含少量的逻辑判断)应该放到U层还是B层?对界面上文本框数据清除是放到U层还是B层?在接下来的学习过程中该慢慢体会并对这些处于层次交界处的逻辑划清界限。

时间: 2024-10-03 00:27:12

三层架构理解的相关文章

三层架构(我的理解及具体分析)

三层架构已经学了一段时间,一直想做一个比較完整.比較完美的总结.可是左思右想,不知道怎样下笔.都说万事开头难嘛,今天整理了一下凌乱的思路,哎,还是没整理好,想到哪就说到哪吧. 刚開始学习的人非常不理解: 1,什么是三层? 2,为什么使用三层? 3,三层与以往使用的两层相比有什么不同?它的优势在哪里? 4,怎样学好三层?怎样应用三层? -- 这篇博客里我会给大家一一解释一下,略懂皮毛忘大家见谅!!! 米老师一直强调:让学习和生活结合,把学习和生活联系,这种学习才叫会学习,会生活. 对于三层我左思右

三层架构(我的理解及详细分析)

http://blog.csdn.net/hanxuemin12345/article/details/8544957 三层架构已经学了一段时间,一直想做一个比较完整.比较完美的总结.但是左思右想,不知道如何下笔.都说万事开头难嘛,今天整理了一下凌乱的思路,哎,还是没整理好,想到哪就说到哪吧. 初学者很不理解: 1,什么是三层? 2,为什么使用三层? 3,三层与以往使用的两层相比有什么不同?它的优势在哪里? 4,如何学好三层?如何应用三层? -- 这篇博客里我会给大家一一解释一下,略懂皮毛忘大家

【转载】 JAVA三层架构,持久层,业务层,表现层的理解

JAVA三层架构,持久层,业务层,表现层的理解 转载:http://blog.csdn.net/ljf_study/article/details/64443653 SSH: Struts(表示层)+Spring(业务层)+Hibernate(持久层) Struts: Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求. 在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发. (View:沿用JSP,HTTP,Form,Tag,Resourse : Co

三层架构的理解

三层架构的理解 表现层: v:html/css/jsp/struts2 c:servlet/struts2action m:javabean/bean(例如:UserService) 业务层: 持久层:jdbc/dbutils/hibernate/springdao/springorm 分层架构是逻辑上的,在物理部署上,三层结构部署在同一个物理机器上,但是随着网站业务的发展,必然需要对已经分层的模块分离部署,即三层结构分别部署在不同的服务器上,使网站拥有更多的计算资源以应对越来越多的用户访问.

三层架构的一点理解以及Dapper一对多查询

1.首先说一下自己对三层架构的一点理解 论坛里经常说会出现喜欢面相对象的写法,所以使用EF的,我个人觉得他俩没啥关系,先别反对,先听听我怎么说吧. 三层架构,基本都快说烂了,但今天还是说三层架构:UI,BLL,DAL.之前往往强调的是三层架构各司其职,但没有说三层架构中每层之间怎么交互的,以及人员之间的分工合作问题.今天重点说这个,从而回答面向对象和EF的关系. 今天说的与数据库有关,那就先说BLL和DAL之间数据的传递.有不少都是按照以下两种方式写的: (1)以Datatable传递.可想想,

个人对JavaWeb中MVC与三层架构的区别理解

JavaWeb中MVC是指B/S结构开发中的一种设计模式,能够将Web页面与业务逻辑以及数据库操作之间的耦合性降到最低点,易于代码的重用以及后期维护.而三层架构的概念在JavaWeb中则是指Web层,业务层,数据层.但三层架构中却是把MVC中的Model,也就是JavaBeans分成业务层和数据层,而把Controller控制器以及View视图合并成Web层.二者之间最大的区别在于MVC只限于JavaWeb,而三层架构则能够实现在非Web应用平台之上,只需替换掉Web层足以,而业务层与数据层依旧

后台三层架构

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

[转]从三层架构到MVC,MVP

本来是不想跳出来充大头蒜的,但最近发现园子里关于MVC的文章和讨论之风越刮越烈,其中有些朋友的观点并不是我所欣赏和推荐的,同时最近也在忙着给公司里的同事做MVC方面的“扫盲工作”.所以就搜集了一些大家接触MVC的过程中经常出现的问题做了一下解释说明,希望能与大家多多交流,呵呵. 当然这种架构模式本身的一些问题也会在接下来的内容就加以介绍,另外就是如果大家有什么不同观点的话,欢迎拍砖(只要不打脸就行,呵呵). 一.  MVC是谁提出的         模型-视图-控制器(MVC)是Xerox PA

从头开始做一个OA项目(三) 关于三层架构思想

下面就开始一步一步的搭建我们的项目三层架构,自从微软的PetShop推出以来,似乎它就成了三层的代名词.在国内.Net界几乎所有的项目都是根据PetShop来搭建三层架构,甚至我还见过一些项目直接就把它的架构拷贝过来,一丝未改.直接使用.在搭建之前,为了便于还未接触过三层的同学了解.我们先把三层架构的基本概念解释一下.我们先来思考一个场景.我们大家都去过饭店吃饭,那么大家回忆一下我们吃饭的流程是个什么样子呢?如下图所示. 当我们推开饭店的大门,马上就会迎来一个笑容可掬的服务员,她会忙着招待我们,