【发布时间】:2018-04-15 07:40:20
【问题描述】:
有人能解释一下capi 包的用途吗?是依赖注入吗?
还有什么是连接两个 BO 的正确方法(例如 BasketBO 和 BucketBO 以访问他们的方法并创建一些新数据)?
是通过管道还是通过一些新的公共对象?
【问题讨论】:
标签: java dependency-injection intershop
有人能解释一下capi 包的用途吗?是依赖注入吗?
还有什么是连接两个 BO 的正确方法(例如 BasketBO 和 BucketBO 以访问他们的方法并创建一些新数据)?
是通过管道还是通过一些新的公共对象?
【问题讨论】:
标签: java dependency-injection intershop
capi(墨盒 API)包是您将接口/类放入墨盒公共 API 的位置。您可能已经注意到几乎总是有一个内部包,这是公共 API 的实现所在。所以接口SomeObjectMgr将在com.example.capi包中,实现类SomeObjectMgrImpl在com.example.internal包中。您可以认为 capi 包是稳定的,而内部包可以在版本之间发生巨大变化。
至于您的第二个问题,如果 BO 属于一起,则它们会在 aggregate 中组合在一起,但是聚合可以引用其他聚合。因此,您需要建立的关系不受限制。例如 BasketBO 可以使用它的访问方法访问 BucketBO 对象。您可以编写一个带有业务逻辑的extension 来操作两个 BO 并返回您需要的任何数据。但是请记住,事务控制是在管道/管道级别上的。因此,如果您需要回滚事务,请在设计方法时考虑到这一点。
至于依赖注入,intershop使用google的guice框架。你可以找到更多关于如何使用它的信息here。
【讨论】: