第二部分:资源库

目录

定义

最佳实践

不好实践

资源库与DAO的区别


定义

   资源库负责聚合对象的增删改查操作,目的是管理聚合的生命周期,严格来说,只有聚合才拥有资源库,可被应用层调用。

最佳实践

    1.采用面向持久化资源库,每次创建或修改聚合后,都调用资源库中的save()方法或与之类似的方法;

   2.定义符合业务含义的查询接口,但需要控制查询接口的膨胀,需要注意适当的抽象。如 queryOrdersByStatus 而不是queryOrdersByPaidStatus。

不好实践

   1.用DAO来代替资源库。一个DAO主要从数据库表的角度来看待问题,并且提供CRUD操作,给任何模型对象的操作提供了“方便之门”,会在不经意间破坏了领域概念的完整性。很多bug就是给领域对象属性设置不完整、不一致等导致,尤其是DAO方法无限膨胀的情况下,改动代码极其出现缺陷;

  2.资源库承担了业务逻辑,并非仅对领域对象的CRUD操作;

  3.资源库依赖外部服务接口。绝大多情况下,这都是一种坏味道,往往由不合理的聚合根设计导致。但如果把外部服务看成是聚合根的存储方式,也是可以打破原则,切勿滥用.

资源库与DAO的区别

    1.他两是有区别的;   

    2.可以简单的理解为资源库是DAO更加上面的一层,当对聚合CURD的时候,用的是资源库,但资源库调用的底层会调用一个或多个DAO层.资源库也负责聚合到DAO对象的转换,或者DAO到聚合的转换.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值