各层的作用
1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.
2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
3:表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx, 如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
具体的区分方法
1:数据数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。
2:业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。
3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。
三层结构解释
所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换.
开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。
那么为什么要应用“中间业务层”呢?举些例子:
我们假设有一段登录代码,则可以这样处理Web程序,外观层负责接收前台页面的数据,然后传给中间层,中间层对数据进行处理,比如格式化,防SQL注入等等一些,这样的数据再传给数据访问层然后与数据库进行操作,比如与数据库的用户名和密码匹配等等一些代码。
“中间业务层”的用途有很多,例如:验证用户输入数据、缓存从数据库中读取的数据等等……但是,“中间业务层”的实际目的是将“数据访问层”的最基础的存储逻辑组合起来,形成一种业务规则。例如:“在一个购物网站中有这样的一个规则:在该网站第一次购物的用户,系统为其自动注册”。这样的业务逻辑放在中间层最合适:
在“数据访问层”中,最好不要出现任何“业务逻辑”!也就是说,要保证“数据访问层”的中的函数功能的原子性!即最小性和不可再分。“数据访问层”只管负责存储或读取数据就可以了。
完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说.不同的应用有不同的理解,这只是一个概念的问题.
理解ASP.NET中的三层结构——为什么要分三层?
我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。这说明将应用程序划分层次,会带来其执行速度上的一些损失。但从团队开发效率角度上来讲却可以感受到大不相同的效果。
需要说明一下,三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。
个人感觉
个人感觉此种架构要在数据库设计上注意表之间的关系,尽力满足主与子的关系。在功能上对用户要有一定的限制,不要表现在对于子表的删除操作一定要慎重,以免造成主表与子表的数据在逻辑上出现的主表的外键在子表中没有相对应的值。
对于表的综合查询方法是:
先对主表查询,调用主表所对应的DL。再根据主表的记录分别对每一个子表进行查询。将自表的查询结果添加的主表后,形成一个大的查询集合。
对于表的操作(增删改):
此时只对主表进行操作,调用主表对应的DL中的操作方法。
RL层是逻辑判断层,主要是对页面上传入的数据进行逻辑判断。RL层之上就是UI
如何建立一个三层体系结构解决方案
新建一个空白解决方案。然后:
“添加”-“新建项目”-“其他项目”-“企业级模版项目”-“C#生成块”-“数据访问”(数据层,下简称D层)
“添加”-“新建项目”-“其他项目”-“企业级模版项目”-“C#生成块”-“业务规则”(业务层,下简称C层)
“添加”-“新建项目”-“其他项目”-“企业级模版项目”-“C#生成块”-“Web用户界面”(界面层,下简称U层)
右键点“解决方案”-“项目依赖项”,设置U依赖于D、C,C依赖于D。
对U添加引用D、C,对C添加引用D。
到此为止,一个三层的架子建立起来了。我上面说的很具体很“傻瓜”,知道的人觉得我废话,其实我这段时间很强烈的感觉到非常多的人其实对这个简单的过程完全不了解。虽然不反对建2个“空项目”和1个“Asp net Web应用程序项目”也可以作为3层的框架,而且相当多的人认为其实这些“企业级模板项目”其实就是个空项目,这是一个误区。没错,企业级模板项目你从解决方案资源管理器里看它是个什么也没有的,但是你可以用记事本打开项目文件,看见不同了吧??有些东西在背后,你是看不见的,不过系统已经做好了。也就是说,如果你在C层里的某个类里“using System Data SqlClineit”,或者使用一个SqlConnection对象,编译时候不会出错,但是会在“任务列表”里生成一些“策略警告”,警告你在C层里不要放应该放在D层的东西(虽然就程序来说没错,但是可读性可维护性就打了折扣)而这种功能,空项目是无法給你的。
本文来自于- GWPBrian.net - 博客园
相关推荐
.NET高手经验分享:CS三层架构详解与实践
业务逻辑层(BLL)是应用程序中负责处理业务规则和数据处理的中间层,它位于表现层和数据访问层之间。BLL的核心职责是实现应用的业务规则,确保数据处理逻辑的正确性和一致性。业务逻辑层在三层架构中扮演着至关重要的角色。它不仅封装了业务规则和数据处理逻辑,还为系统的可维护性和扩展性提供了坚实的基础。理解并正确实现BLL,需要对业务规则进行合理的抽象和封装,确保层与层之间的清晰交互,并优化性能以应对复杂的业务场景。
ASP.NET三层架构理解
一、基本概念及说明 ASP.NET三层架构主要包括UI(显示/表示)层、BLL(业务逻辑)层、DAL(数据访问)层。UI层主要用来显示数据,BLL层主要用来控制业务逻辑,有时什么都不做,只是简单作为传值用,而DAL层主要用来控制数据库,进行数据交互。并且还有Model层作为补充,进行参数传递。  三层架构中"表现层"的aspx.cs页面(类)对应MVC中的Controller 三层架构中业务逻辑层和数据访问层对应MVC中的Model 由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调
ASP.NET三层架构实现注册登录功能实战练习
为了提高异常处理的可读性和可维护性,建议在 BLL 层定义统一的异常类:使用示例if (!throw new BusinessException(1001, "用户名格式不正确");if (!throw new BusinessException(1002, "邮箱格式不正确");if (!throw new BusinessException(1003, "密码不符合要求");// 其他注册逻辑...异常处理流程图graph TD。
掌握ASP.NET三层架构:增删改查操作实例分析
三层架构是一种常见的软件设计模式,它将应用程序分为三个逻辑层次:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data Access Layer)。每层都有其特定的功能和职责,彼此之间通过定义良好的接口进行交互。表现层:位于用户界面与应用系统之间,负责展示数据和接收用户的输入,是用户与系统交互的前端部分。业务逻辑层:位于表现层和数据访问层之间,是应用系统的核心部分,负责处理业务逻辑。数据访问层。
三层架构:表示层——业务逻辑层——数据访问层
1.什么是三层架构 所谓的三层开发就是将系统的整个业务应用划分为表示层——业务逻辑层——数据访问层,这样有利于系统的开发、维护、部署和扩展。 分层是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。 · 表示层:负责直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等。意味
如何理解.Net的三层架构
该教程内包括 各层作用以及之间的关系 三层结构解释······
深入探讨:如何理解.Net的三层架构[转]
各层的作用 1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。3:表示层:主要表示WEB方式,也可以表示成WINFORM方式,W
Basler相机和pylon viewer 的使用
文章目录1 线路连接2 安装和使用pylon 1 线路连接 电源线接到电源插座,网线接到电脑(电脑没有网口的话,可用转换器转到type-c接口)。 2 安装和使用pylon 参考 Basler pylon安装及对网口相机基本设置 相机和电脑以太网IP设置参考:balser相机IP设置 关于相机参数和pylon viewer的详细设置,可以参考pylon Viewer安装路径下的文档(Documentation) ...
【开源教程25】疯壳·开源编队无人机-定高、定点、悬停
【开源教程25】疯壳·开源编队无人机-定高、定点、悬停
ASP.NET项目开发中的三层架构:深入解析与实践
ASP.NET的三层架构是一种有效的应用程序设计模式,它通过将应用程序划分为三个独立的部分来降低耦合度、提高可维护性和可扩展性。在实际开发中,要合理划分层次、遵循单一职责原则、注重测试与调试、编写详细的文档和注释,并持续优化三层架构的设计。摘要:ASP.NET的三层架构是一种常见的软件设计模式,它将应用程序划分为三个独立的部分:数据访问层、业务逻辑层和表示层。ASP.NET的三层架构是一种有效的解决方案,它将应用程序的不同部分分离到独立的层中,从而提高了代码的可维护性和可重用性。四、三层架构的实现方式。
AMEsim不连续处理机制:仿真精度与效率的平衡艺术
本文深入解析AMEsim不连续处理机制在系统仿真中的应用,探讨如何平衡仿真精度与效率。通过液压系统仿真案例,详细介绍了事件检测算法、变步长求解器自适应策略及典型场景优化方法,帮助工程师有效应对仿真中的不连续性问题,提升仿真效率和准确性。
805



被折叠的 条评论
为什么被折叠?



