BLH结构分析

本文介绍了一种名为BLH的业务处理结构,该结构通过降低controller与biz层之间的耦合度来简化测试并提高系统的可监控性。BLH结构定义了从RequestEvent到ResponseEvent的数据处理流程,并探讨了其优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]BLH结构[/b]

入参:RequestEvent
出参:ResponseEvent
业务接受者:FacadeGateWayService
业务处理类:***BLH extends BaseBizLogicHandler
业务处理代理类:BizDelegate

[b]职责:[/b]
RequestEvent:构造函数(BLH名,方法名),可设置请求来源(渠道类型),用户ID,事务类型,地区代码,

BizDelegate:将RequestEvent发送至FacadeGateWayService(可配置为本地或远程的FacadeGateWayService)
在这里记录日志(比如耗时,等),统一异常、错误码的处理

FacadeGateWayService:需注入dbsessionFactory,事务处理,异常记录,调用BaseBizLogicHandler.execute(RequestEvent req, CTPDBSession ss)处理RequestEvent

BaseBizLogicHandler:统一处理验证(意义不大);运用spring代理技术,记录每个dao方法的访问时间

***BLH:业务处理类的每个方法,作为一个业务单元,处理RequestEvent

***DAO:数据库操作;


[b]优点:[/b]降低了controller到biz层耦合;测试简单;能够监控系统的性能;追踪用户访问时系统的性能瓶颈;学习成本低,使用简单,上手速度快;
在系统逐步扩张为多种接入渠道(如:手机、web、终端等)时很适用;
在controller到biz层的业务参数经常变化或需统一调控的情况下很适用。
业务模块独立性强的情况下适用;
适用于垂直业务开发;

[b]缺点:[/b]设计理念导致blh复用不理想;blh调blh会出现事务不一致问题;反射的性能问题;开发效率不高;blh重构不方便;多数据源支持不是很方便。


[b]改进建议:[/b]blh、dao做成单例加缓存解决性能问题,使用ThreadLocal解决事务问题,适当的情况下增加配置式的sql或者增加mybatis的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值