首页 新闻 会员 周边 捐助

微服务分层设计中,一个service对应多个DAO好,还是一个service对应一个DAO好?

0
悬赏园豆:30 [已解决问题] 解决于 2023-12-18 15:22

微服务,比如有商品微服务 和订单微服务

订单相关的有15张表

关于分层
方式1:基本每一个表 = 一个mapper = 一个DAO = 一个service
所以订单微服务有15个service
优点:解耦。易于查找相应的service和方法
缺点:在controller会引入大量service,更容易引起dubbo找不到service的异常。

方式2:基本每一个表 = 一个mapper= 一个DAO
但只写一个OrderService(15张表的service层都放在这一个类里面)
优点:在dubbo引用微服务时只需引用OrderService,不需要加其他14个。能更少引起dubbo调用找不到service的异常。
缺点:在维护时OrderService,要按表分为多个板块,方法不能重名,所以命名更麻烦一些,且这个类容易冲突。如果代码多了,一个类很多代码,更难找到相应的代码,也更容易冲突。

哪种方式好呢?

大地1的主页 大地1 | 初学一级 | 园豆:4
提问于:2020-04-10 14:11
< >
分享
最佳答案
0

领域驱动设计为此而生,正是要解决你当前的面向数据库编程

收获园豆:30
悟行 | 专家六级 |园豆:12559 | 2020-04-10 17:23

百度了一下领域驱动设计,感觉纯理论的比较多。领域驱动设计 有些适合当前的微服务体系吗?
针对这个问题,领域驱动设计 的方案是什么哇?

大地1 | 园豆:4 (初学一级) | 2020-04-10 20:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册