三层架构之业务逻辑层

article/2025/8/21 2:59:11

你好,是我琉忆。

今天我们讲一讲三层架构中的业务逻辑层

1、业务逻辑层的介绍

业务逻辑层(Business Logic Layer,简称 BLL)是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也就是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

2、业务逻辑层的命名规范

每一层的命名规范都是不同的,但是基本操作的逻辑相同。

业务逻辑层的命名规范如下:

(1)     业务逻辑层通常命名为 BLL 或用解决方案名称 +BLL 的格式命名。

(2)     每个实体类通常在业务逻辑层有对应的业务逻辑类。类的格式为实体类名称 +Manager。

【看到这里,如果你还没关注我,可以点个关注,下次更新文章我通知你】

​3、业务逻辑层的类结构

业务逻辑层的作用更多是为了解耦,每个业务逻辑类的方法用于处理具体的业务规则。例如我们查询用户时需要从数据访问层的UserService类的getUserInfo获取用户信息回来,那么业务逻辑层也需要写一个UserManager.cs类定义一个getUserInfo的方法,用于同步操作数据访问层的数据返回前端操作。

所以BLL业务逻辑层这里,它的结构基本和数据访问层的结构一样。除非业务逻辑层不涉及数据访问层的调用,它的结构才会跟数据访问层不一致。

须知:业务逻辑层为了和数据访问层的方法易于调用理解,两个类的方法名尽量一致。

4、我写的书开始预售了!

最近正在写一本《ASP.NET Web动态网站》开发的书,预计2月底写完,敬请期待~

预售网址:【村长编写】14天零基础到入门搞定ASP.NET Web网页开发【书籍】预售

更多编程知识获取关注公众号:琉忆编程库

 


http://chatgpt.dhexx.cn/article/h4fOhLCq.shtml

相关文章

如何绘制逻辑图 — 7.逻辑的表达:业务逻辑

前4 篇介绍完了逻辑图三元素中“要素”的表达方式,下面要介绍逻辑图三元素之二“逻辑”的表达方式。逻辑表达的说明分为两篇,第一篇说明“业务逻辑”的表达方式,第二篇说明“数据逻辑”的表达方式。 在语言、文字和图形这三种表达方式中&…

如何先梳理业务逻辑再写代码

1.业务逻辑与代码 代码是需求逻辑的一种展现形式 需求文档是业务逻辑的一种展现形式,而代码不过是业务逻辑的另一种表现形式;如果逻辑本身有问题,那么它的各种展示形式自然也是错的,所以写代码前应该先思考清楚业务逻辑。 Revi…

【web实战-业务逻辑】评论点赞逻辑

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

SpringBoot框架实现简单业务逻辑

SpringBoot框架实现简单业务逻辑 总述Entity层Dao层Mapper.xml Service层ServiceImpl Controller层完整的业务逻辑实现写法示例Dao层声明方法Mapper.xml具体实现sql语句Service层声明方法ServiceImpl具体实现业务逻辑Controller层调用Service层方法实现 总结 总述 最基本的业务…

java如何优雅的写业务逻辑_java业务逻辑,写在哪里比较好?

java业务逻辑,写在哪里比较好?对于这个问题,我想说的是:规范是死的,人是活的,一般情况下,我们可以根据不同的 java 框架规范的目录来写,特殊情况下也可以自定义。 问题分析 接触过 j…

常见的业务逻辑漏洞-整合篇

笔者前言: 作为一个地地道道的安服仔,每日的工作就是渗透测试,在测试的过程中累积了很多的经验,看到了各种各样奇葩的漏洞,于是乎便有了这样的一篇文章。以下文章均由本人测试发现并打码,侵删 什么是业务逻…

浅谈——业务逻辑漏洞

目录 什么是业务逻辑漏洞产生原因脑图有哪些应用场景?哪些危害?越权支付漏洞靶机案例修改支付金额密码找回绕过越权 防御方式参考 | 提示📝: “业务逻辑"一词仅指定义应用程序操作方式的一组规则。由于这些规则并不总是与企…

订单业务逻辑设计

订单业务逻辑 订单的常见功能: 创建订单功能、查看订单列表、根据订单id查询订单的详细信息、订单修改、订单取消、订单状态、订单评价等功能的实现数据库表的设计 tb_order(订单信息表) tb_order_item(订单详情表) tb_order_shipping&am…

业务安全 –业务逻辑漏洞

目录 业务安全 –业务逻辑漏洞 业务安全概述; 业务安全测试流程: 业务数据安全 商品支付金额篡改 前端JS限制绕过验证 请求重放测试 业务上线测试 *商品订购数量篡改 密码找回安全 注入 业务逻辑 信息泄露 业务安全概述; 简单讲,随着社会发…

不可思议但又无处不在的漏洞,WEB安全基础入门—业务逻辑漏洞

欢迎关注订阅专栏! WEB安全系列包括如下三个专栏: 《WEB安全基础-服务器端漏洞》《WEB安全基础-客户端漏洞》《WEB安全高级-综合利用》 知识点全面细致,逻辑清晰、结合实战,并配有大量练习靶场,让你读一篇、练一篇&a…

业务逻辑安全思路总结

在一些关键的业务场景里,我们最应该关注的安全问题是什么呢? 想到这,发现挺有意思的,于是我重新去梳理了一下业务逻辑方面的内容,做了一张关于业务逻辑安全的思维导图,在整理的过程中,自己的思路…

开发业务逻辑

转自:http://www.uml.org.cn/zjjs/201008021.asp 前言 记得几个月前,在一次北京博客园俱乐部的活动上,最后一个环节是话题自由讨论。就是提几个话题,然后大家各自加入感兴趣的话题小组,进行自由讨论。当时金色海洋同学…

Service业务逻辑层

就是功能实现 例:Account类要求编写业务逻辑层AccountServiceImpl类实现一个转账功能 先定义DBUtils类封装数据库连接代码、定义Account类、定义PersonDao类提供增删改查方法 public class AccountServiceImpl{public static void transfer(int fromId,String pwd,…

业务逻辑详解

不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑 比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可…

业务逻辑漏洞

业务逻辑漏洞定义: 业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错误。 业务逻辑漏洞特性: 业务逻辑漏洞只出现于业务流程中(模块功能),也就是说网站的部分都有…

业务逻辑漏洞总结

一、漏洞简介 业务逻辑漏洞产生的最核心原因,就是在编写程序时,只考虑了常规的操作流程,即“当在A情况下,就会出现B,此时执行C即可”,但是开发者却没有考虑当用户执行了意料之外的X时会发生什么。这种对于…

前端业务逻辑

前端业务逻辑 1-关于全选和非全选 Vue3环境下运用ant-design-vue框架 展示效果 全选 非全选 业务逻辑 1、数据结构data const state reactive({cart: , // 购物车信息ids: [], // 删除购物车单个商品的idcartNum: , // 购物车数量checkAll: false, // 是否处于全选状态c…

java业务逻辑_java业务逻辑怎么写?

现在Java项目一般都是用Spring全家桶开发,以web项目来讲结构主要分为Controller层、Service层和DAO层,细分的话有的项目可能还会有一个Manager层。 一个请求到达后端之后会根据请求的路径找到对应的Controller,Controller会调用相应的业务Ser…

什么是业务逻辑?

不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑 比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可…

业务逻辑之终极分析

细说业务逻辑 前言 记得几个月前,在一次北京博客园俱乐部的活动上,最后一个环节是话题自由讨论。就是提几个话题,然后大家各自加入感兴趣的话题小组,进行自由讨论。当时金色海洋同学提出了一个话题——“什么是业务逻辑”。当…