Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
事件溯源
Kafka消息
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
业务逻辑与数据访问
02-10-25
ghw
业务逻辑层需要访问数据库来完成相关的功能。在业务逻辑层的类中直接写访问数据库的语句给人的感觉代码不简洁,加大了业务逻辑与数据库的耦合度。考虑采用在类与数据库中的表间建立一一对应的映射关系,由这些类负责数据库的访问,完成业务逻辑的类调用这些类实现数据库访问,但是感觉这个方法不灵活,尤其是需要同时访问多张数据表、业务逻辑非常复杂时(如查询),并且代码的执行效率也不高。如何处理业务逻辑与数据访问的关系,成熟的解决方案(模式)是什么,恳请各位高人赐教。
vic
2002-10-25 12:01
两种方法:
方法1. 使用容器管理下的EJB
方法2. 使用DAO模式
优点:
都能够将逻辑与数据访问分离
方法1. 能够使用EJB带来的种种好处
方法2. 开发起来简单
缺点:
方法1. 开发人员要求比较高
方法2. 增加一层的类----工作量
banq
2002-10-25 13:06
推荐第一种方式,DAO模式我不主张使用,它有特定的前提条件,所以才叫它模式,模式使用不当带来很大坏处。
而使用容器管理下的EJB就是CMP,这不是模式,是一种实在规范,在CMP中使用CMR实现数据库关系是一个趋势,建议参考pet store中的 个人资料 方面的CMP代码,其中就有一个customer中带个人地址的一对一关系。